Page.GetShapesLinkedToDataRow 方法 (Visio)

返回一个数组,其中包含活动页上链接到指定数据记录集中指定数据行中的数据的所有形状。

注意

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

语法

expression. GetShapesLinkedToDataRow( _DataRecordsetID_ , _DataRowID_ , _ShapeIDs()_ )

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

参数

名称 必需/可选 数据类型 说明
DataRecordsetID 必需 Long 当前文档中包含的数据记录集的 ID。
DataRowID 必需 Long DataRecordsetID 中指定的数据记录集中的数据行的 ID。
ShapeIDs () 必需 Long out 参数。 一个类型为 Long 的数组,该方法将返回该数组,该数组将用页面上的形状 ID 填充,这些形状链接到 DataRecordsetID 中指定的数据记录集中的 DataRowID 中指定的数据行。

返回值

Nothing

注解

为 ShapeIDs() 参数传递 Long 类型的无量纲空数组。 如果页面上没有形状链接到 DataRecordsetID 指定的数据记录集中由 DataRowID 指定的数据行, 则 GetShapesLinkedToDataRow 将返回一个空数组。

若要确定数据记录集中所有数据行的 ID,请使用 DataRecordset.GetDataRowIDs 方法。 请注意,数据行 ID 不一定始终对应于数据记录集中数据行的逻辑位置。

示例

下面的 Microsoft Visual Basic for Applications (VBA) 宏演示如何使用 GetShapesLinkedToDataRow 方法来确定页面上链接到特定数据的形状的形状 ID,该数据位于最近添加到当前文档的 DataRecordsets 集合中的数据记录集中 ID 号为 1 的数据行中。 将在“立即”窗口中输出形状 ID。

在运行此宏之前,请使用 DataRecordsets.Add 方法或其他方法向 DataRecordsets 集合添加至少一个数据记录集,并确保活动页上至少有一个形状链接到数据记录集中 ID 为 1 的数据行中的数据。

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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。