Master.Open 方法 (Visio)
打开现有的主控形状以便对其进行编辑。
语法
表达式。打开
表达 一个代表 Master 对象的变量。
返回值
Master
备注
将 Master 对象的 Open 方法与 Close 方法结合使用,以可靠地编辑主控形状的形状和单元格。 在 Visio 的一些以前版本中,您可以编辑 Master 对象的形状和单元格,但这些更改不会应用于主控形状的实例,并且在实例化已编辑的主控形状时显示的对齐框信息不正确。
从程序中编辑 Master 对象的形状和单元格
使用 masterObjCopy = masterObj 打开 Master 对象进行编辑。 打开。 如果有一个绘图窗口打开了 masterObj 或其他程序已经打开 masterObj,此代码将失败。 如果 Open 方法成功,则 masterObjCopy 为 masterObj 的副本。
更改 masterObjCopy 中的任何形状和单元格,而不是 masterObj。
使用 masterObjCopy 关闭 Master 对象。 关闭。 如果 masterObjCopy 不是由以前的 masterObj 生成的 Master 对象,则 Close 方法将失败。 打开 调用。 否则,Close 方法会将步骤 2 中对 masterObjCopy 所做的更改合并回 masterObj 中。 该方法还会更新 masterObj 的所有实例以反映在 masterObj 中缓存的更改和更新信息。 如果 masterObj. IconUpdate 不是 visManual (0),则 Close 方法会更新在模具窗口中为 masterObj 显示的图标以描述 masterObjCopy 的图像。
如果您直接更改主控形状的形状和单元格,而不是按上面的过程所述打开和关闭主控形状,则不会出现步骤 3 中列出的效果。
创建 masterObj 的副本以进行编辑的程序应关闭并释放副本。 Microsoft Visual Basic 通常会自动释放该副本。 但是,在 C 或 C++ 中编码时,您必须显式释放该副本,如同对任何其他对象一样。
注意
从 Microsoft Office Visio 2003 开始,只有用户创建的模具可编辑。 默认情况下,Visio 模具是不可编辑的。
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏显示如何打开 Master 对象以进行编辑。 该宏从文档模具中打开主控形状的副本,并更改主控形状和绘图中派生自该主控形状的所有形状的填充前景色。
运行此宏之前,关闭所有打开的 Visio 文档。 然后,单击“ 文件 ”选项卡,单击“ 新建”,然后单击“ 创建 ”以打开不基于任何模板的新文档。 单击“矩形”工具,并在绘图页上绘制一个矩形。 打开文档模具(在“形状”窗口中,单击“更多形状”,单击“显示文档模具”),然后将矩形形状拖动到文档模具上来创建一个主控形状。 最后,将矩形主控形状的几个副本拖动到绘图页上。
Public Sub OpenMaster_Example()
Dim vsoMaster As Visio.Master
Dim vsoMasterCopy As Visio.Master
Dim vsoShape As Visio.Shape
Dim vsoCell As Visio.Cell
Set vsoMaster = Visio.Documents.Masters(1)
Set vsoMasterCopy = vsoMaster.Open
Set vsoShape = vsoMasterCopy.Shapes.Item(1)
Set vsoCell = vsoShape.CellsU("FillForegnd")
vsoCell.Formula = 9
vsoMasterCopy.Close
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。