Layer.Add 方法 (Visio)
将 Shape 对象添加到 Layer 对象。
表达式。添加 (SheetObject、 fPresMems)
表达 一个代表 Layer 对象的变量。
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
SheetObject | 必需 | [IVSHAPE] | 添加到 Layer 对象的新 Shape 对象。 |
fPresMems | 必需 | Integer | 若为零,从前面的任意图层分配中删除子形状;不为零,则保留图层分配。 |
Nothing
如果形状为组并且 fPresMems 不为零,则该组的组件形状保留它们当前的图层分配,并且将组件形状添加到该图层。 如果 fPresMems 为零,则组件形状将重新分配到该图层,并且丢失它们当前的图层分配。
以下示例显示如何使用 Add 方法将 Shape 对象添加到 Layer 对象。 当添加到 Layer 对象的 Shape 对象为组合形状时,请使用 Add 方法的 fPresMems 参数来指定该组的组件形状是保留还是丢失它们以前的图层分配。 如果添加的形状不是组合形状,fPresMems 参数不起作用,但仍是必要参数。
在示例中,创建了两个新图层。 绘制了两个矩形,然后将它们添加到第一个图层。 随后,这些矩形被组合为一个组合形状。 然后选择并重复组合形状,并将重复的组合形状以两种不同方式添加到第二个图层。
通过将非零值传递给 Add 方法的 fPresMems 参数,保留了 vsoShapeGroup2 的组件形状的图层分配,但当将零传递给 Add 方法的该参数时,则丢失了 vsoShapeGroup1 的组件形状以前的图层分配。 因此, vsoShapeGroup1 的组件形状仅分配给 vsoLayer2 ,而 vsoShapeGroup2 的组件同时分配给 vsoLayer1 和 vsoLayer2。
Public Sub AddShapesToLayer_Example()
Dim vsoDocument As Visio.Document
Dim vsoPages As Visio.Pages
Dim vsoPage As Visio.Page
Dim vsoLayers As Visio.Layers
Dim vsoLayer1 As Visio.Layer
Dim vsoLayer2 As Visio.Layer
Dim vsoShape1 As Visio.Shape
Dim vsoShape2 As Visio.Shape
Dim vsoShapeGroup1 As Visio.Shape
Dim vsoShapeGroup2 As Visio.Shape
'Add a Document object based on the Basic Diagram template.
Set vsoDocument = Documents.Add("Basic Diagram.vst")
'Get the Pages collection and add a page to the collection.
Set vsoPages = vsoDocument.Pages
Set vsoPage = vsoPages.Add
'Get the Layers collection and add two layers
'to the collection.
Set vsoLayers = vsoPage.Layers
Set vsoLayer1 = vsoLayers.Add("MyLayer")
Set vsoLayer2 = vsoLayers.Add("MySecondLayer")
'Draw two rectangles.
Set vsoShape1 = vsoPage.DrawRectangle(3, 3, 5, 6)
Set vsoShape2 = vsoPage.DrawRectangle(4, 4, 6, 7)
'Assign each rectangle to the first layer.
vsoLayer1.Add vsoShape1, 0
vsoLayer1.Add vsoShape2, 0
'Select the two rectangles and group them.
ActiveWindow.SelectAll
ActiveWindow.Selection.Group
'Duplicate the group and set each group as a Shape object.
Set vsoShapeGroup1 = vsoPage.Shapes(1)
vsoShapeGroup1.Duplicate
Set vsoShapeGroup2 = vsoPage.Shapes(2)
'Add the first grouped shape to the second layer.
'This group's component shapes are added to the layer
'but lose their previous layer assignment.
vsoLayer2.Add vsoShapeGroup1, 0
'Add the second grouped shape to the second layer.
'This group's component shapes are added to the layer
'but retain their previous layer assignment.
vsoLayer2.Add vsoShapeGroup2, 1
End Sub
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。