Visio- 如何在 运行 时间内从 Stencil 中隐藏大师

Visio- How to hide Master from Stencil in run-time

是否有在 运行 时间内从 Stencil 中隐藏特定 Master 的选项? 我尝试了 mstr.Hidden = 1;,但出现以下异常:{"\n\nRequested operation is presently disabled."}.

要看你要隐藏母版的模板,如果不是open-for-edit,那么你就不能设置Hidden属性隐藏母版

Microsoft 随 Visio 一起提供的模具是超级只读的。您甚至不能右键单击 then 并选中 Edit Stencil 属性。它已被禁用。

但是,如果模板是您自己的模板,或者它是您当前正在处理的文档的文档模板,那么您可以显示和隐藏母版。

让我们使用 VBA 立即 window 并进行一些调查。我打开了标准 基本流程图 模板。它会打开两个带有绘图的模板。我们可以看到他们的名字如下:

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

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

模板 BASFLO_U.vssx(基本流程图形状)是排名第二的文档。它有一个主人叫"Database"。让我们试着隐藏它:

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!

如果我将 "Database" 放入绘图中,母版将被复制到我们工作绘图的文档模板中。活动图形是文档 #1。确保您的文档模板可见,然后键入:

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

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

无论如何,如果这不是最好的消息,希望这对您有所帮助。

当初为什么要隐藏高手?