DataColumn.SetProperty 方法 (Visio)

设置指定的数据列属性的值。

注意

此 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 成员之一:
  • visAcre
  • visAngleUnits
  • visCentimeters
  • visCiceros
  • visCicerosAndDidots
  • visDegreeMinSec
  • visDegrees
  • visDrawingUnits
  • visFeet
  • visFeetAndInches
  • visHectare
  • visDidots
  • visInches
  • visInchFrac
  • visKilometers
  • visMeters
  • visMileFrac
  • visMiles
  • visMillimeters
  • visMin
  • visNautMiles
  • visPageUnits
  • visPicas
  • visPicasAndPoints
  • visPoints
  • visRadians
  • visSec
  • visYards
  • visNumber (特殊行为:此常量使值无单位)

OR

描述性字符串:用于单位的字符串,例如 cmsq cm。此字符串将进行验证,以便它是受支持的 Visio 单元之一。 传递无效字符串会导致此方法失败。
下列 VisUnitsCodes 成员之一:
  • visDurationUnits
  • visElapsedDay
  • visElapsedHour
  • visElapsedMin
  • visElapsedSec
  • visElapsedWeek

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.GetPropertyDataColumn.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 支持和反馈,获取有关如何接收支持和提供反馈的指南。