次の方法で共有


Layer.Add メソッド (Visio)

Layer オブジェクトに Shape オブジェクトを追加します。

構文

Add (SheetObject, fPresMems)

Layer オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
SheetObject 必須 [IVSHAPE] Layer オブジェクトに追加された新しい Shape オブジェクトです。
fPresMems 必須 Integer 既存のレイヤーの割り当てからサブ図形を削除する場合は 0 を指定し、レイヤーの割り当てを保持する場合は 0 以外の値を指定します。

戻り値

なし

解説

追加する図形がグループで、fPresMems が 0 以外の場合、グループを構成する各図形は現在のレイヤー割り当てを維持したまま、さらに新しいレイヤーに追加されます。 fPresMems が 0 の場合、グループを構成する各図形に対する現在のレイヤー割り当てが解除され、新しいレイヤーに再度割り当てられます。

次の例は、Add メソッドを使って Shape オブジェクトを Layer オブジェクトに追加する方法を示します。 Layer オブジェクトに追加する Shape オブジェクトがグループ図形の場合、Add メソッドの引数 fPresMems を使って、グループのコンポーネント図形の以前のレイヤー割り当てを保持するか、または解除するかどうかを指定します。 追加する図形がグループ図形以外の場合、引数 fPresMems を指定しても何も実行されませんが、必須項目です。

この例では、2 つの新しいレイヤーを作成します。 長方形を 2 つ描画して、最初のレイヤーに追加します。 続いて、この 2 つの長方形をグループ化してグループ図形にします。 グループ図形を選択して複製し、各グループ図形を 2 種類の方法で 2 番目のレイヤーに追加します。

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 のサポートおよびフィードバックを参照してください。