DataColumns.SetColumnProperties 方法 (Visio)
會設定一個或多個資料欄的一個或多個資料欄屬性。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
運算式。SetColumnProperties (ColumnNames () , Properties () , Values () )
表達 會傳回 DataColumns 物件的 運算式。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
ColumnNames () | 必要 | String | 表示資料行名稱的字串陣列。 |
Properties () | 必要 | Long | 資料欄屬性 (如 VisDataColumnProperties) 的陣列。 請參閱 「 備註 」 可能的值。 |
Values () | 必要 | Variant | 要指派給屬性的值陣列。 如需可能的值,請參閱「備註」。 |
傳回值
無
註解
比起為資料欄逐一設定屬性,使用 SetColumnProperties 方法同時為多個資料欄設定屬性會比較有效率。 您可以根據您在上述每個參數陣列中所放置的項目,來變更相同資料欄的多個屬性,或不同資料欄的一個或多個屬性。 請針對您所做的每項變更,在這三個陣列的對應位置上傳送相關的資料欄名稱/屬性/值的三項組。 請注意,傳送至此方法的三個陣列都必須為相同的大小,否則此方法將傳回錯誤。
對於 ColumnNames() 參數,請傳送要變更屬性的資料欄名稱陣列。 若要變更相同資料欄的多個屬性,您可以在多個陣列位置放置相同的名稱,也可以將資料欄名稱放在一個陣列位置,並且在要變更屬性的陣列位置所對應的後續位置上放置空字串。
Properties() 參數陣列中各項目的可用值會宣告於 VisDataColumnProperties 中,並且顯示於下表中。
常數 | 值 | 描述 |
---|---|---|
visDataColumnPropertyCalendar | 3 | 資料欄屬性的行事曆。 |
visDataColumnPropertyCurrency | 5 | 資料欄屬性的貨幣。 |
visDataColumnPropertyDisplayName | 6 | 資料欄屬性在 UI 中的顯示名稱。 |
visDataColumnPropertyHyperlink | 8 | 將資料欄的值連結到圖形後,這個值是否會變成 Visio UI 中的超連結。 |
visDataColumnPropertyLangID | 2 | 資料欄屬性的語言識別碼。 |
visDataColumnPropertyType | 1 | 資料欄屬性的資料類型。 |
visDataColumnPropertyUnits | 4 | 資料欄屬性的單位。 |
visDataColumnPropertyVisible | 7 | 資料欄屬性是否顯示在 UI 中。 |
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 支援與意見反應。