DataColumns.SetColumnProperties 方法 (Visio)
为一个或多个数据列设置一个或多个数据列属性。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
表达式。SetColumnProperties (ColumnNames () , Properties () , Values () )
表达 返回 DataColumns 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
ColumnNames () | 必需 | 字符串 | 表示数据列名称的字符串数组。 |
Properties () | 必需 | Long | 数据列属性(如 VisDataColumnProperties)组成的数组。 有关可能值,请参见备注。 |
Values () | 必需 | Variant | 要分配给这些属性的值组成的数组。 请参阅“注解”来了解可能的值。 |
返回值
Nothing
注解
与一次为一列设置属性相比,SetColumnProperties 方法是一种更有效的方法,可同时为多个数据列设置属性。 根据这三个参数数组的每个数组中所放置项的不同,可以更改同一数据列的多个属性,也可以更改不同数据列的一个或多个属性。 在进行每次更改时,都需要在所有这三个数组的相应位置传递相关列名/属性/值这三个参数。 请注意,传递给该方法的所有这三个数组的大小必须相同,否则该方法将会返回错误。
对于 ColumnNames() 参数,需要传递要更改其属性的数据列的名称所组成的数组。 如果要更改同一列的多个属性,可以将该列名放在多个数组位置,也可以将该列名放在某一个数组位置,然后在与要更改的属性的数组位置相对应的后续位置中放置空字符串。
Properties() 参数数组中各项的可能值在 VisDataColumnProperties 中声明,下表列出了这些值。
常量 | 值 | Description |
---|---|---|
visDataColumnPropertyCalendar | 3 | 数据列属性的日历。 |
visDataColumnPropertyCurrency | 5 | 数据列属性的货币。 |
visDataColumnPropertyDisplayName | 6 | 数据列属性在用户界面中的显示名称。 |
visDataColumnPropertyHyperlink | 8 | 数据列值在链接到形状时,是否成为 Visio 用户界面中的超链接。 |
visDataColumnPropertyLangID | 2 | 数据列属性的语言 ID。 |
visDataColumnPropertyType | 1 | 数据列属性的数据类型。 |
visDataColumnPropertyUnits | 4 | 数据列属性的单位。 |
visDataColumnPropertyVisible | 7 | 数据列属性是否在用户界面中可见。 |
Values() 参数数组中各项的可能值取决于对应的 Property() 数组参数值。 DataColumn.SetProperty 主题中的表显示每个数据列属性的有效数据列属性值,具体取决于数据列数据类型。
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏演示如何为活动文档的 DataRecordsets 集合中最近添加的记录集中的两个不同列设置单个属性的值。 该宏假定此最近添加的记录集基于的是 Visio 附带的 ORGDATA.xls 电子表格中的数据。 DataRecordsets.Add 方法主题中显示了用于添加该数据记录集的示例代码。 不过,您可以对至少包含两列的任何数据记录集使用这些代码。
该宏将第一列的显示名称更改为“Dept”,并将第二列的 Hyperlink 属性设置为 True。 此后 (如果使用 ORGDATA 作为数据源) ,则链接到数据记录集中数据的形状的电子邮件地址将充当超链接。
请注意,更改数据列的显示名称只会更改其 DisplayName 属性,不会更改列的编程名称,该名称由其 Name 属性指定。
Public Sub SetColumnProperties_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim intCount As Integer
intCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intCount)
Dim astrColumnNames(1) As String
Dim alngProperties(1) As Long
Dim avarValues(1) As Variant
astrColumnNames(0) = vsoDataRecordset.DataColumns(1).DisplayName
astrColumnNames(1) = vsoDataRecordset.DataColumns(2).DisplayName
alngProperties(0) = visDataColumnPropertyDisplayName
alngProperties(1) = visDataColumnPropertyHyperlink
avarValues(0) = "Dept."
avarValues(1) = True
vsoDataRecordset.DataColumns.SetColumnProperties astrColumnNames, alngProperties, avarValues
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。