閱讀英文

共用方式為


Layer.Add 方法 (Visio)

會將 Shape 物件加入到 Layer 物件。

語法

運算式新增 (SheetObjectfPresMems)

表達 代表 Layer 物件的變數。

參數

名稱 必要/選用 資料類型 描述
SheetObject 必要 [IVSHAPE] 加入到 Layer 物件的新 Shape 物件。
fPresMems 必要 整數 零的值表示要從之前任何的圖層指派中移除子圖形;非零的值表示要保留圖層指派。

傳回值

註解

如果圖形是一個群組,而且 fPresMems 不是零,則此群組的元件圖形會保留其目前的圖層指派,而這些元件圖形也會加入到這個圖層中。 如果 fPresMems 為零,則元件圖形會重新指派給這個圖層,而且會遺失其目前的圖層指派。

範例

下列範例將示範如何使用 Add 方法將 Shape 物件加入到 Layer 物件。 當加入到 Layer 物件的 Shape 物件為群組圖形時,請使用 Add 方法的 fPresMems 引數來指定此群組的元件圖形是要保留還是遺失其之前的圖層指派。 如果您所加入的圖形不是群組圖形,則 fPresMems 引數不會有任何作用,但是仍然需要它。

在此範例中,會建立兩個新的圖層。 繪製兩個矩形圖形,然後新增至第一層。 之後,矩形會分組成群組圖形。 接著會選取並複製群組圖形,並以兩種不同的方式將重複的群組圖形新增至第二層。

vsoShapeGroup2元件圖形的圖層指派會藉由為Add方法的fPresMems引數傳遞非零值來保留,但是當將零傳遞至該引數的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 支援與意見反應