Метод Shape.ConnectedShapes (Visio)
Возвращает массив, содержащий идентификаторы фигур, подключенных к фигуре.
Синтаксис
выражение.
ConnectedShapes
( _Flags_
, _CategoryFilter_
)
выражение Переменная, представляющая объект Фигура.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Flags | Обязательный | VisConnectedShapesFlags | Фильтрует массив возвращенных идентификаторов фигур по направленности соединителей. Возможные значения см. в разделе Примечания. |
CategoryFilter | Обязательный | String | Фильтрует массив возвращаемых идентификаторов фигур, ограничивая его идентификаторами фигур, которые соответствуют указанной категории. |
Возвращаемое значение
Long()
Замечания
Значение Flags должно быть одной из следующих констант VisConnectedShapesFlags .
Константа | Значение | Описание |
---|---|---|
visConnectedShapesAllNodes | 0 | Возвращает идентификаторы фигур, связанных как с входящими, так и исходящими подключениями. |
visConnectedShapesIncomingNodes | 1 | Возвращает идентификаторы фигур, связанных с входящими подключениями. |
visConnectedShapesOutgoingNodes | 2 | Возвращает идентификаторы фигур, связанных с исходящими подключениями. |
Категории — это определяемые пользователем строки, которые можно использовать для классификации фигур и, таким образом, для ограничения членства в контейнере. Категории можно определить в ячейке User.msvShapeCategories в таблице фигур для фигуры. Для фигуры можно определить несколько категорий, разделив категории с запятыми.
Если исходный объект является 1D-фигурой или частью master, метод ConnectedShapes возвращает ошибку Invalid Source.
Если соответствующих связанных фигур не существует, метод ConnectedShapes возвращает пустой массив.
Примеры
В следующем макросе Visual Basic для приложений (VBA) показано, как использовать метод ConnectedShapes для поиска имен всех фигур на другом конце исходящих подключений из выбранной фигуры.
Пример кода, предоставленный:Фред Диггс
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 для поиска имен всех фигур на другом конце входящих подключений к выбранной фигуре.
Пример кода, предоставленный:Фред Диггс
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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.