Shape の Shapes メソッド (Visio)Shape.ConnectedShapes method (Visio)

図形に接続されている図形の識別子 (ID) を配列として返します。Returns an array that contains the identifiers (IDs) of the shapes that are connected to the shape.

構文Syntax

expression.expression. ConnectedShapes( _Flags_ , _CategoryFilter_ )

Shape オブジェクトを表す変数を取得します。expression A variable that represents a Shape object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
FlagsFlags 必須Required VisConnectedShapesFlagsVisConnectedShapesFlags 返された図形の ID の配列に、コネクターの方向でフィルターを適用します。Filters the array of returned shape IDs by the directionality of the connectors. 指定可能な値については、「備考」を参照してください。See Remarks for possible values.
カテゴリフィルターCategoryFilter 必須Required StringString 返された図形の ID の配列にフィルターを適用し、指定したカテゴリと一致する図形の ID に制限します。Filters the array of returned shape IDs by limiting it to the IDs of shapes that match the specified category.

戻り値Return value

Long ()Long()

解説Remarks

_Flags_の値は、次のVisConnectedShapesFlags定数のいずれかであることが必要です。The Flags value must be one of the following VisConnectedShapesFlags constants.

定数Constant Value 説明Description
visConnectedShapesAllNodesvisConnectedShapesAllNodes .00 入力方向と出力方向の両方の接続に関連付けられた図形の ID を返します。Return IDs of shapes that are associated with both incoming and outgoing connections.
visConnectedShapesIncomingNodesvisConnectedShapesIncomingNodes 1-d1 入力方向の接続に関連付けられた図形の ID を返します。Return IDs of shapes that are associated with incoming connections.
visConnectedShapesOutgoingNodesvisConnectedShapesOutgoingNodes pbm-22 出力方向の接続に関連付けられた図形の ID を返します。Return IDs of shapes that are associated with outgoing connections.

カテゴリは、図形を分類し、コンテナー内のメンバーシップを制限するために使用できるユーザー定義の文字列です。Categories are user-defined strings that you can use to categorize shapes and thereby to restrict membership in a container. カテゴリは、図形のシェイプシート内の User.msvShapeCategories セルで定義できます。You can define categories in the User.msvShapeCategories cell in the ShapeSheet for a shape. 1 つの図形に対して複数のカテゴリを定義するには、カテゴリをセミコロンで区切ります。You can define multiple categories for a shape by separating the categories with semi-colons.

ソースオブジェクトが1D 図形またはマスターシェイプの一部である場合、 Connectedshapesメソッドは無効なソースエラーを返します。If the source object is a 1D shape or part of a master, the ConnectedShapes method returns an Invalid Source error.

接続されている図形が存在しない場合、 connectedshapesメソッドは空の配列を返します。If no qualifying connected shapes exist, the ConnectedShapes method returns an empty array.

Examples

次の Visual Basic for Applications (VBA) マクロは、 connectedshapesメソッドを使用して、選択した図形からの送信接続の他の端にあるすべての図形の名前を検索する方法を示します。The following Visual Basic for Applications (VBA) macro shows how to use the ConnectedShapes method to find the names of all the shapes at the other end of outgoing connections from a selected shape.

サンプルコードの提供元: コミュニティメンバーアイコンFred DiggsSample code provided by: Community Member Icon Fred Diggs

Public Sub ConnectedShapes_Outgoing_Example()
' Get the shapes that are connected to the selected shape
' by outgoing connectors.
    Dim vsoShape As Visio.Shape
    Dim lngShapeIDs() As Long
    Dim intCount As Integer

    If ActiveWindow.Selection.Count = 0 Then
        MsgBox ("Please select a shape that has connections")
        Exit Sub
    Else
        Set vsoShape = ActiveWindow.Selection(1)
    End If

    lngShapeIDs = vsoShape.ConnectedShapes _
      (visConnectedShapesOutgoingNodes, "")
    Debug.Print "Shapes at the end of outgoing connectors:"
    For intCount = 0 To UBound(lngShapeIDs)
        Debug.Print ActivePage.Shapes(lngShapeIDs(intCount)).Name
    Next
End Sub

次の VBA マクロは、 connectedshapesメソッドを使用して、選択した図形への受信接続の他の端にあるすべての図形の名前を検索する方法を示しています。The following VBA macro shows how to use the ConnectedShapes method to find the names of all the shapes at the other end of incoming connections to a selected shape.

サンプルコードの提供元: コミュニティメンバーアイコンFred DiggsSample code provided by: Community Member Icon Fred Diggs

Public Sub ConnectedShapes_Incoming_Example()
' Get the shapes that are at the other end of 
' incoming connections to a selected shape
    Dim vsoShape As Visio.Shape
    Dim lngShapeIDs() As Long
    Dim intCount As Integer

    If ActiveWindow.Selection.Count = 0 Then
        MsgBox ("Please select a shape that has connections.")
        Exit Sub
    Else
        Set vsoShape = ActiveWindow.Selection(1)
    End If

    lngShapeIDs = vsoShape.ConnectedShapes _
      (visConnectedShapesIncomingNodes, "")
    Debug.Print "Shapes that are at the other end of incoming connections:"
    For intCount = 0 To UBound(lngShapeIDs)
        Debug.Print ActivePage.Shapes(lngShapeIDs(intCount)).Name
    Next
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.