Поделиться через


Метод Page.GetShapesLinkedToData (Visio)

Возвращает массив всех фигур на активной странице, связанной с данными в указанном наборе данных.

Примечание.

Этот объект или элемент Visio доступен только лицензированным пользователям Visio профессиональный 2013.

Синтаксис

выражение. GetShapesLinkedToData( _DataRecordsetID_ , _ShapeIDs()_ )

Выражение Выражение, возвращающее объект Page .

Параметры

Имя Обязательный или необязательный Тип данных Описание
DataRecordsetID Обязательный Long Идентификатор набора записей данных, содержащегося в текущем документе.
ShapeIDs() Обязательный Long Параметр Out. Массив типа Long , который будет возвращать метод, заполненный идентификаторами фигур на странице, связанной с набором записей данных, указанным в DataRecordsetID.

Возвращаемое значение

Отсутствует

Примечания

Для параметра ShapeIDs() передайте пустой безразмерный массив типа Long. Если на странице нет связанных фигур, GetShapesLinkedToData вернет пустой массив.

Чтобы определить конкретную строку данных в фигурах набора записей данных, с которых связаны фигуры, используйте метод Page.GetShapesLinkedToDataRow .

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод GetShapesLinkedToData для определения идентификаторов фигур на странице, связанной с данными в наборе записей данных, который недавно был добавлен в коллекцию DataRecordsets текущего документа. Он выводит идентификаторы фигур в окне Интерпретация.

Перед выполнением этого макроса используйте метод DataRecordsets.Add или другое средство, чтобы добавить по крайней мере один набор записей данных в коллекцию DataRecordsets и убедиться, что на активной странице есть по крайней мере одна фигура, связанная с данными в наборе записей данных.

Public Sub GetShapesLinkedToData_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim alngShapeIDs() As Long 
    Dim intArrayCounter As Integer 
     
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    ActivePage.GetShapesLinkedToData vsoDataRecordset.ID, alngShapeIDs 
     
    For intArrayCounter = LBound(alngShapeIDs) To UBound(alngShapeIDs) 
        Debug.Print alngShapeIDs(intArrayCounter) 
    Next 
     
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.