DataRecordset.GetRowData 方法 (Visio)
获取指定行中所有列的数据。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
表达式。GetRowData (DataRowID)
表达 返回 DataRecordset 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
DataRowID | 必需 | Long | 数据记录集内要从中检索数据的行的行 ID。 |
返回值
Variant ()
备注
若要获取数据记录集中所有行的行 ID,请使用 GetDataRowIDs 方法。 请参阅本主题中的示例。
如果向 DataRowID 参数传递的行 ID 为零,则 GetRowData 方法会返回数据记录集内各列的名称。 如果传递的行 ID 为除零之外的任何其他有效值,则 GetRowData 方法会按传递零值时返回列名的相同顺序返回指定行中所有列的值。
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏说明如何使用 GetDataRowIDs 和 GetRowData 方法返回每一行的行 ID,然后获取存储在指定数据记录集的每一行及每一列中的数据。 宏获取与当前文档关联的所有数据记录集的计数,并获取最近添加的记录集的行数据。 该宏循环访问该数据记录集内的所有行,然后对每一行循环访问该行中的所有列。 这段代码将在“即时”窗口中显示返回的信息。
在运行该宏前,请在当前文档中至少创建一个数据记录集。
请注意,该宏将一个空字符串传递给 GetDataRowIDs 方法,以便不进行筛选,从而获取记录集内的所有行。 在运行该宏后,您会看到所显示的第一组数据(与第一个数据行相对应)包含数据记录集内所有数据列的标题。
Public Sub GetRowData_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim intCount As Integer
Dim lngRowIDs() As Long
Dim lngRow As Long
Dim lngColumn As Long
Dim varRowData As Variant
'Get the count of all data recordsets in the current document.
intCount = ThisDocument.DataRecordsets.Count
Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount)
'Get the row IDs of all the rows in the data recordset
lngRowIDs = vsoDataRecordset.GetDataRowIDs("")
'Iterate through all the records in the data recordset.
For lngRow = LBound(lngRowIDs) To UBound(lngRowIDs) + 1
varRowData = vsoDataRecordset.GetRowData(lngRow)
'Print a separator between rows
Debug.Print "------------------------------"
'Print the data stored in each column of a particular data row.
For lngColumn = LBound(varRowData) To UBound(varRowData)
Debug.Print varRowData(lngColumn)
Next lngColumn
Next lngRow
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。