Freigeben über


Shape.ConnectedShapes-Methode (Visio)

Gibt ein Array mit den IDs der Shapes zurück, die mit dem Shape verbunden sind.

Syntax

Ausdruck. ConnectedShapes( _Flags_ , _CategoryFilter_ )

expression Eine Variable, die ein Shape-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Flags Erforderlich VisConnectedShapesFlags Filtert das Array der zurückgegebenen Shape-IDs nach der Direktionalität der Verbinder. Mögliche Werte finden Sie in den Hinweisen.
CategoryFilter Erforderlich String Filtert das Array der zurückgegebenen Shape-IDs, indem es auf die IDs der Shapes beschränkt wird, die der angegebenen Kategorie entsprechen

Rückgabewert

Long()

Hinweise

Der Wert von Flags muss eine der folgenden VisConnectedShapesFlags-Konstanten sein:

Konstante Wert Beschreibung
visConnectedShapesAllNodes 0 IDs von Shapes zurückgeben, die sowohl mit eingehenden als auch mit ausgehenden Verbindungen verknüpft sind
visConnectedShapesIncomingNodes 1 IDs von Shapes zurückgeben, die mit eingehenden Verbindungen verknüpft sind
visConnectedShapesOutgoingNodes 2 IDs von Shapes zurückgeben, die mit ausgehenden Verbindungen verknüpft sind

Kategorien sind vom Benutzer definierte Zeichenfolgen, die zum Kategorisieren von Shapes und damit zum Einschränken der Mitgliedschaft in einem Container verwendet werden können. Kategorien können in der Zelle User.msvShapeCategories im ShapeSheet eines Shapes definiert werden. Sie können mehrere Kategorien für ein Shape definieren, indem Sie die Kategorien durch Semikolons trennen.

Wenn das Quellobjekt ein 1D-Shape oder Teil eines master ist, gibt die ConnectedShapes-Methode den Fehler Ungültige Quelle zurück.

Wenn keine geeigneten verbundenen Shapes vorhanden sind, gibt die ConnectedShapes-Methode ein leeres Array zurück.

Beispiele

Das folgende VBA-Makro (Visual Basic for Applications) beschreibt, wie Sie die ConnectedShapes-Methode verwenden, um die Namen aller Shapes am anderen Ende der ausgehenden Verbindungen aus einem ausgewählten Shape zu finden.

Beispielcode bereitgestellt von:Symbol für CommunitymitgliedFred 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

Das folgende VBA-Makro beschreibt, wie Sie die ConnectedShapes-Methode verwenden, um die Namen aller Shapes am anderen Ende der eingehenden Verbindungen zu einem ausgewählten Shape zu finden.

Beispielcode bereitgestellt von:Symbol für CommunitymitgliedFred 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 und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.