使用英语阅读

通过


Layer.Add 方法 (Visio)

Shape 对象添加到 Layer 对象。

语法

表达式添加 (SheetObjectfPresMems)

表达 一个代表 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 的组件同时分配给 vsoLayer1vsoLayer2

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 支持和反馈,获取有关如何接收支持和提供反馈的指南。