Layer.Add 方法 (Visio)
會將 Shape 物件加入到 Layer 物件。
運算式。新增 (SheetObject、 fPresMems)
表達 代表 Layer 物件的變數。
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
SheetObject | 必要 | [IVSHAPE] | 加入到 Layer 物件的新 Shape 物件。 |
fPresMems | 必要 | 整數 | 零的值表示要從之前任何的圖層指派中移除子圖形;非零的值表示要保留圖層指派。 |
無
如果圖形是一個群組,而且 fPresMems 不是零,則此群組的元件圖形會保留其目前的圖層指派,而這些元件圖形也會加入到這個圖層中。 如果 fPresMems 為零,則元件圖形會重新指派給這個圖層,而且會遺失其目前的圖層指派。
下列範例將示範如何使用 Add 方法將 Shape 物件加入到 Layer 物件。 當加入到 Layer 物件的 Shape 物件為群組圖形時,請使用 Add 方法的 fPresMems 引數來指定此群組的元件圖形是要保留還是遺失其之前的圖層指派。 如果您所加入的圖形不是群組圖形,則 fPresMems 引數不會有任何作用,但是仍然需要它。
在此範例中,會建立兩個新的圖層。 繪製兩個矩形圖形,然後新增至第一層。 之後,矩形會分組成群組圖形。 接著會選取並複製群組圖形,並以兩種不同的方式將重複的群組圖形新增至第二層。
vsoShapeGroup2元件圖形的圖層指派會藉由為Add方法的fPresMems引數傳遞非零值來保留,但是當將零傳遞至該引數的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 支援與意見反應。