Compartir a través de


Método Shape.ConnectedShapes (Visio)

Devuelve una matriz que contiene los identificadores (Id.) de las formas que están conectadas a la forma.

Sintaxis

expresión. ConnectedShapes( _Flags_ , _CategoryFilter_ )

expresión Variable que representa un objeto Shape.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Flags Obligatorio VisConnectedShapesFlags Filtra la matriz de identificadores de formas devueltas según la direccionalidad de los conectores. Vea los comentarios para conocer los valores posibles.
CategoryFilter Obligatorio String Filtra la matriz de identificadores de formas devueltas limitándola a los identificadores de las formas que coinciden con la categoría especificada.

Valor devuelto

Long()

Comentarios

El valor de Flags debe ser una de las siguientes constantes de VisConnectedShapesFlags.

Constante Valor Descripción
visConnectedShapesAllNodes 0 Devuelve los identificadores de las formas asociadas con conexiones entrantes y salientes.
visConnectedShapesIncomingNodes 1 Devuelve los identificadores de las formas asociadas con conexiones entrantes.
visConnectedShapesOutgoingNodes 2 Devuelve los identificadores de las formas asociadas con conexiones salientes.

Las categorías son cadenas definidas por el usuario que se pueden usar para clasificar las formas y, de esa manera, restringir la pertenencia en un contenedor. Las categorías se pueden definir en la celda User.msvShapeCategories, en la ShapeSheet de una forma. Puede definir varias categorías relativas a una forma si las separa con punto y coma.

Si el objeto de origen es una forma 1D o parte de un patrón, el método ConnectedShapes devuelve un error De origen no válido.

Si no existen formas conectadas aplicables, el método ConnectedShapes devuelve una matriz vacía.

Ejemplos

La siguiente macro de Visual Basic para Aplicaciones (VBA) muestra cómo usar el método ConnectedShapes para buscar los nombres de todas las formas en el otro extremo de las conexiones salientes de una forma seleccionada.

Código de ejemplo proporcionado por:Community Member IconFred 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

La siguiente macro de VBA muestra cómo usar el método ConnectedShapes para buscar los nombres de todas las formas en el otro extremo de las conexiones entrantes a una forma seleccionada.

Código de ejemplo proporcionado por:Community Member IconFred 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.