0

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

4

1 回答 1

1

这取决于您要隐藏母版的模具。如果它不是可编辑的,那么您无法设置隐藏属性并隐藏母版。

Microsoft 随 Visio 提供的模板是超级只读的。您甚至不能右键单击 then 并检查Edit Stencil属性。它被禁用。

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

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

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

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

模板 BASFLO_U.vssx(基本流程图形状)是 #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。确保您的 Document Stencil 可见,然后键入:

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

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

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

为什么要先隐藏大师?

于 2020-04-06T14:30:18.233 回答