设置指定的数据列属性的值。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
表达式。SetProperty (属性、 值)
表达 返回 DataColumn 对象的表达式。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 |
|---|---|---|---|
| 属性 | 必需 | VisDataColumnProperties | 要设置其值的数据列属性。 有关可能的值 ,请参阅备注 。 |
| 值 | 必需 | Variant | 要分配给数据列属性的值。 有关可能的值 ,请参阅备注 。 |
返回值
Nothing
注解
在将 Microsoft Visio 绘图中的形状链接到某一数据记录集内的数据时,Visio 会将该数据记录集内的列映射到 ShapeSheet 电子表格的“形状数据”部分中的行,其中每一行均与一个形状数据项相对应。
注意
在 Visio 以前的一些版本中,形状数据被称为自定义属性。
数据列属性将数据列映射到 ShapeSheet 的“形状数据”部分中的某些单元格。 例如,通过向 SetProperty 方法传递 DisplayName 属性的新值(由枚举值 visDataColumnPropertyDisplayName 表示),可以设置特定形状数据项 ShapeSheet 的“形状数据”部分中的“标签”单元格的值。
此外,设置该属性将设置“ 形状 数据”对话框中的形状数据项的标签,以及 Visio 用户界面的“外部数据”窗口中显示的数据列的名称。 这些设置对应于可以在 Visio 用户界面的“列设置”对话框中设置的设置, (右键单击“外部数据”窗口,然后单击“列设置”) ,以及可在“类型和单位”对话框中为每个列设置 (单击“列设置”对话框中) 的数据类型。
Property 参数的可能值在 VisDataColumnProperties 中声明,如下表所示。
| 常量 | 值 | 说明 |
|---|---|---|
| visDataColumnPropertyCalendar | 3 | 数据列属性的日历。 |
| visDataColumnPropertyCurrency | 5 | 数据列属性的货币。 |
| visDataColumnPropertyDisplayName | 6 | 数据列属性在用户界面中的显示名称。 |
| visDataColumnPropertyHyperlink | 8 | 数据列值在链接到形状时,是否成为 Visio 用户界面中的超链接。 |
| visDataColumnPropertyLangID | 2 | 数据列属性的语言 ID。 |
| visDataColumnPropertyType | 1 | 数据列属性的数据类型。 |
| visDataColumnPropertyUnits | 4 | 数据列属性的单位。 |
| visDataColumnPropertyVisible | 7 | 数据列属性是否在用户界面中可见。 |
Value 参数的可能值取决于 Property 参数值。 下表显示每个数据列属性的有效数据列属性值,具体取决于数据列数据类型。
| Data Column 属性 | 数字 | 日期 | 货币 | 期限 | String | 布尔值 |
|---|---|---|---|---|---|---|
| 常量 | visPropTypeNumber | visPropTypeDate | visPropTypeCurrency | visPropTypeDuration | visPropTypeString | visPropTypeBoolean |
| Visible | Boolean | Boolean | Boolean | Boolean | Boolean | Boolean |
| DisplayName | String | String | String | String | String | String |
| LangID | 有效 LCID 号 | |||||
| 货币 | 由 3 个字母组成的有效货币常量字符串,用于 Visio ShapeSheet 电子表格中的 CY 函数。 | |||||
| 日历 | VisCellVals 的成员之一,具体取决于 LangID 值 (请参阅下表) 。 | |||||
| Units | 下列 VisUnitsCodes 成员之一:
OR 描述性字符串:用于单位的字符串,例如 cm 或 sq cm。此字符串将进行验证,以便它是受支持的 Visio 单元之一。 传递无效字符串会导致此方法失败。 |
下列 VisUnitsCodes 成员之一:
OR 描述性字符串:用于 ew 等单位的字符串。 将对该字符串进行验证,检查其是否为支持的 Visio 单位之一。 传递无效字符串会导致此方法失败。 |
||||
| 链接 | Boolean |
LangID 和 Calendar 属性受下表中所显示的验证规则的约束。 未显示的语言只使用公历。
| 语言 | Hirji | 西方 | 法语转译 | 英语转译 | 希伯来农历 | 萨卡时代日历 | 日本和历 | 朝鲜檀纪历 | 泰国佛历 |
|---|---|---|---|---|---|---|---|---|---|
| 所有阿拉伯语 | x | x | x | x | |||||
| 孟加拉 (孟加拉) | x | x | |||||||
| 迪维希 | x | x | |||||||
| 所有英语 | x | x | x | x | |||||
| 波斯语 | x | x | |||||||
| 希伯来语 | x | x | |||||||
| 印地语 | x | x | |||||||
| 日语 | x | x | |||||||
| 朝鲜语 | x | x | |||||||
| 克什米尔语(阿拉伯) | x | x | |||||||
| 旁遮普语(巴基斯坦) | x | x | |||||||
| 普什图语 | x | x | |||||||
| 信德语 | x | x | |||||||
| 泰语 | |||||||||
| 乌尔都语 | x | x | |||||||
| Tamzight | x | x |
示例
以下 Microsoft Visual Basic for Applications (VBA) 宏演示如何使用 GetProperty 方法获取传递给 方法的数据记录集中第一列的“形状数据”部分中 Label 单元格的值,并将其显示在“即时”窗口中。 然后,它使用 SetProperty 方法设置值并显示新值。 对于链接到该数据记录集各行的所有形状来说,更改这个值也就是在“形状数据”对话框中更改形状数据项的标签。
为获取和设置“标签”单元格的值,这个宏将 visDataColumnPropertyDisplayName 值从 VisDataColumnProperties 枚举传递给 DataColumn.GetProperty 和 DataColumn.SetProperty 方法。
在运行这个宏之前,至少要在 VBA 项目中创建一个要传递给这个宏的数据记录集。
Public Sub SetProperty_Example(vsoDataRecordset As Visio.DataRecordset)
Dim strPropertyName As String
Dim strNewName As String
Dim vsoDataColumn As Visio.DataColumn
strNewName = "New Property Name"
Set vsoDataColumn = vsoDataRecordset.DataColumns(1)
strPropertyName = vsoDataColumn.GetProperty(visDataColumnPropertyDisplayName)
Debug.Print strPropertyName
vsoDataColumn.SetProperty visDataColumnPropertyDisplayName, strNewName
strPropertyName = vsoDataColumn.GetProperty(visDataColumnPropertyDisplayName)
Debug.Print strPropertyName
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。