Документ Viso по умолчанию имеет CodeName от ThisDocument
и, в отличие от других документов Office, ThisDocument
содержит CodeName
, который доступен только для чтения.Будет ли переименование модуля «ThisDocument» Visio возникнет проблема?
Если я доверилась доступ к VBE, то я может переименовать компонент, с линией, как это:
ThisDocument.vbProject.vbComponents("ThisDocument").Name = "FooBar"
И с этого момента, я могу сослаться на объект, как FooBar
вместо от ThisDocument
Но, по-видимому, CodeName доступен только для чтения по какой-либо причине. Я не могу найти никаких проблем с переименованием объекта, пока, но я не уверен, что могут быть некоторые неожиданные последствия.
Безопасно ли переименовать компонент ThisDocument
?
Пожалуйста, дайте мне знать, если/когда вы получите ответ на этот вопрос, рефакторинг Rubberduck в/переименовывать в настоящее время установки 'Опору erties.Item ("_ CodeName"). Значение для модулей типа 'vbext_ct_Document', что означает, что я могу ожидать, что при переименовании модуля типа документа Visio будет вызываться' COMException', если он доступен только для чтения. Я подозреваю, что установка «Имя» напрямую может иметь те же последствия, что и при использовании «ThisWorkbook» в Excel, т. Е. Происходят странные вещи, например дублирующие модули в Project Explorer. Жаль, что у меня нет Visio, чтобы проверить его. –
Первое, о чем я бы подумал - это события - возможно, до и после теста, чтобы убедиться, что они все еще подключены правильно. – Blackhawk
@ Mat'sMug это (см. Мой ответ) также является проблемой в MS Word - наткнулся на это при использовании удивительности Rubberduck * (что, вероятно, не позволило мне переименовать ThisDocument в SomeThing) *. Большинство вещей, казалось, работало (в MS Word), за исключением макрокоманд – SlowLearner