Shape.GetCustomPropertiesLinkedToData 方法 (Visio)
获取形状 ShapeSheet 电子表格的“形状数据”内容中链接到指定数据记录集的形状数据项(自定义属性)行的 ID。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
expression。 GetCustomPropertiesLinkedToData
( _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 支持和反馈,获取有关如何接收支持和提供反馈的指南。