Shape.GetCustomPropertiesLinkedToData 方法 (Visio)

获取形状 ShapeSheet 电子表格的“形状数据”内容中链接到指定数据记录集的形状数据项(自定义属性)行的 ID。

注意

此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。

语法

expressionGetCustomPropertiesLinkedToData( _DataRecordsetID_ , _CustomPropertyIndices()_ )

表达 返回 Shape 对象的表达式。

参数

名称 必需/可选 数据类型 说明
DataRecordsetID 必需 Long 包含形状所链接到的数据的数据记录集的 ID。
CustomPropertyIndices () 必需 Long out 参数。 一个空的无维度数组,该方法用 shape-data-item 的行 ID 填充 (自定义属性) 形状的 ShapeSheet 中链接到数据记录集中的数据列的行。

返回值

Nothing

注解

了解形状如何链接到数据,可以帮助防止刷新一个或多个数据记录集中的数据时出现冲突和断开的链接。

注意

在 Visio 以前的一些版本中,形状数据被称为自定义属性。

示例

以下 Microsoft Visual Basic for Applications (VBA) 宏演示如何使用 GetCustomPropertiesLinkedToData 方法获取 shape-data-item (自定义属性的 ID,) 行链接到数据记录集中的数据列。

运行此宏之前,请将至少一个数据记录集添加到文档的 DataRecordsets 集合。 该宏将在页面上放置一个形状,将该形状链接到最近添加到集合中的数据记录集中的数据,然后进行测试,以确保链接成功。 如果成功,该宏将获取链接到数据的所有 ShapeSheet 行的行 ID,并在“立即”窗口中输出这些行 ID。

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 支持和反馈,获取有关如何接收支持和提供反馈的指南。