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


Метод Shape.GetCustomPropertiesLinkedToData (Visio)

Получает идентификаторы строк shape-data-item (настраиваемое свойство) в разделе Данные фигуры электронной таблицы таблицы фигуры, связанной с указанным набором записей данных.

Примечание.

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

Синтаксис

выражение. GetCustomPropertiesLinkedToData( _DataRecordsetID_ , _CustomPropertyIndices()_ )

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

Параметры

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

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

Отсутствует

Примечания

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

Примечание.

В некоторых предыдущих версиях Visio данные фигур назывались пользовательскими свойствами.

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод GetCustomPropertiesLinkedToData для получения идентификаторов строк shape-data-item (пользовательское свойство), связанных со столбцом данных в наборе записей данных.

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

Public Sub GetCustomPropertiesLinkedToData_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim vsoShape As Visio.Shape 
    Dim intCount As Integer 
    Dim boolIsLinked As Boolean 
    Dim alngIndices() As Long 
    Dim intArrayIndex as Integer 
            
    intCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intCount) 
    Set vsoShape = ActivePage.DrawRectangle(2, 2, 4, 4) 
         
    vsoShape.LinkToData vsoDataRecordset.ID, 1, True 
    boolIsLinked = vsoShape.IsCustomPropertyLinked(vsoDataRecordset.ID, 1) 
     
    If boolIsLinked Then 
         
        vsoShape.GetCustomPropertiesLinkedToData vsoDataRecordset.ID, alngIndices 
        For intArrayIndex = LBound(alngIndices) To UBound(alngIndices) 
             Debug.Print alngIndices(intArrayIndex) 
        Next 
     
    Else 
     
        Debug.Print "Not linked." 
         
    End If 
 
End Sub

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

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