Visio - Как скрыть мастера от трафарета во время выполнения - PullRequest
0 голосов
/ 02 апреля 2020

Есть ли возможность скрыть указанные c Master от Stencil во время выполнения? Я попытался mstr.Hidden = 1; и получил следующее исключение: {"\n\nRequested operation is presently disabled."}.

1 Ответ

0 голосов
/ 06 апреля 2020

Это зависит от трафарета, в котором вы хотите скрыть мастер. Если он не открыт для редактирования, вы не можете установить свойство Hidden и скрыть мастер.

Трафареты, которые Microsoft Поставки с Visio только для чтения. Вы даже не можете щелкнуть правой кнопкой мыши и проверить свойство Редактировать трафарет . Он отключен.

Однако, если трафарет является вашим собственным трафаретом или это трафарет документа для документа, над которым вы сейчас работаете, вы можете показать и скрыть мастера.

Давайте используйте окно VBA Immediate и проведите некоторое расследование. Я открыл стандартный шаблон Basi c Flowchart . Открывает два трафарета с рисунком. Мы можем видеть их имена следующим образом:

?Visio.Documents(1).Name
'--> Drawing1

?Visio.Documents(2).Name
'--> BASFLO_U.vssx

Трафарет BASFLO_U.vssx (Basi c Flowchart Shapes) является документом № 2. У него есть мастер под названием «База данных». Давайте попробуем скрыть это:

Visio.Documents(2).Masters("Database").Hidden = true     

'--> ERROR: Requested operation is presently disabled.
'--> This is a Visio-supplied stencil, Read Only, and we can't edit it!

Если я добавлю «Чертеж» в чертеж, мастер будет скопирован в трафарет документа нашего рабочего чертежа. Активным чертежом является документ № 1. Убедитесь, что у вас есть видимый трафарет документа, затем наберите:

Visio.Documents(1).Masters("Database").Hidden = True

'--> The master disappears in the Document Stencil window

В любом случае, надеюсь, что это полезно, если не самая лучшая новость.

Почему вы хотите скрыть мастера в первом место

...