Page.LinkShapesToDataRows 方法 (Visio)
将指定的数据记录集中的多个行(由其数据行 ID 指定)链接到页面上的多个形状,并且可以选择将当前数据图形应用到所链接到的形状。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
expression。 LinkShapesToDataRows
( _DataRecordsetID_
, _DataRowIDs()_
, _ShapeIDs()_
, _ApplyDataGraphicAfterLink_
)
表达 返回 Page 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
DataRecordsetID | 必需 | Long | 当前文档中包含要链接到的数据的数据记录集的 ID。 |
DataRowIDs () | 必需 | Long | DataRecordsetID 中指定的数据记录集中行的 长 数据行 ID 类型的数组,要链接到 ShapeIDs () 中指定的形状。 |
ShapeIDs () | 必需 | Long | 要链接到 DataRecordsetID 中指定的数据记录集中 DataRowIDs () 中指定的数据行的页面上形状 ID 类型的数组 。 |
ApplyDataGraphicAfterLink | 可选 | Boolean | 是否将当前的数据图形应用到链接的形状。 有关详细信息,请参阅“注解”。 |
返回值
Nothing
注解
为 ShapeIDs () 参数传递的数组中形状 ID 的索引位置应与要链接形状的数据行 ID 的 DataRowIDs () 数组中的索引位置相对应。 也就是说,若要将 ID 为 1 的形状链接到 ID 为 10 的数据行,例如,将形状 ID 和数据行 ID 放在其各自数组中的同一数组索引位置。
如果 Visio 无法在形状和数据行之间建立链接,Visio 将跳过该形状,继续处理数组中的下一个形状。 运行 方法后,若要确定数组中的所有形状是否实际链接到指定的数据行,请对数组中的每个形状调用 Shape.GetLinkedDataRow 方法。 如果对任何形状调用该方法时失败,则表明该形状未链接到相应的数据行。 Visio 通常会成功地将行链接到形状,除非形状已链接到数据,并且数据记录集的链接替换行为设置指定不应替换该链接。
如果为可选的 ApplyDataGraphicAfterLink 参数传递 True ,或者如果未传递此参数的值,Visio 会将现有数据图形重新应用于在调用 方法之前已应用数据图形的形状。 对于之前不具有数据图形的形状,Visio 会应用最近应用到当前文档中的任何其他形状的数据图形。
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏演示如何使用 LinkShapesToDataRows 方法将添加到活动绘图页的前三个形状链接到最近添加到当前文档 DataRecordsets 集合的数据记录集中的前三个数据行中的数据。 由于并未为可选的最后一个参数传递值,因此还会向链接的形状应用数据图形。
在运行此宏之前,请打开一个新的 Visio 绘图,并使用 DataRecordsets.Add 方法或其他方法将至少一个数据记录集添加到 DataRecordsets 集合。 最近添加的数据记录集至少应包含三个数据行。 然后至少向绘图页中添加三个形状。
Public Sub LinkShapesToDataRows_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim intRecordsetCount As Integer
Dim alngDataRowIDs(0 To 2) As Long
Dim alngShapeIDs(0 To 2) As Long
alngShapeIDs(0) = 1
alngShapeIDs(1) = 2
alngShapeIDs(2) = 3
alngDataRowIDs(0) = 1
alngDataRowIDs(1) = 2
alngDataRowIDs(2) = 3
intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount)
ActivePage.LinkShapesToDataRows vsoDataRecordset.ID, alngDataRowIDs, alngShapeIDs
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。