設定做為 GraphicItem 物件規則一部分的運算式字串值,並根據該規則評估圖形資料 (自訂屬性) 。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
expression。
SetExpression( _Field_ , _Expression_ )
運算式 傳回 GraphicItem 物件的運算式。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| Field | 必要 | VisGraphicField | 指派至 GraphicItem 的主要資料欄位 (欄) 的標籤或公式。 請參閱 「 備註 」 可能的值。 |
| 運算式 | 必要 | 字串 | 與 Field 參數相關聯的 ShapeSheet 運算式。 |
傳回值
無
註解
Field 參數應該是下列 VisGraphicField 列舉中的一個值,此參數已經宣告於 Microsoft Visio 型別程式庫中。
| 常數 | 值 | 描述 |
|---|---|---|
| visGraphicPropertyLabel | 1 | 圖形資料項目的標籤。 |
| visGraphicExpression | 2 | 圖形資料項目的 ShapeSheet 公式。 |
當您傳遞 SetExpression 方法時,圖形資料項目標籤 (也就是說,當您為欄位參數) 傳遞 visGraphicPropertyLabel 時,必須將標籤括在大括弧 ({}) 中。 例如,如果您想要傳遞 "Cost" 圖形-資料項目的名稱,必須寫為 {Cost}。
若要參考套用資料圖形以外的圖形的圖形資料,方法是傳遞圖形名稱,後面接著驚嘆號 (!) ,然後傳遞欄位名稱。 例如,在下面顯示的範例中,若要參考名為 Ellipse.34 的圖形寬度,可以使用下列語法:
vsoGraphicItem.SetExpression visGraphicExpression, "Ellipse.34!Width"
在您可以編輯圖形項目 (包括設定其運算式字串) 之前,您必須先使用 Master.Open 方法開啟以編輯圖形項目所屬之 GraphicItems 集合的資料圖形主機複本。 在設定圖形項目的運算式並進行您想要的任何其他編輯之後,請使用 Master.Close 方法確認變更。
範例
下列 Microsoft Visual Basic for Applications (VBA) 巨集會示範如何使用 SetExpression 方法,來設定資料圖形項目的運算式字串的值。 它會開啟 visTypeDataGraphic 類型的 Master 物件複本 (通常稱為「Data Graphic」的資料圖形) ,然後設定資料圖形的 GraphicItems 集合中第一個圖形項目的運算式,以顯示套用資料圖形的任何圖形寬度。
注意事項
您可以將滑鼠指標移到 Visio 使用者介面中 [資料圖形] 工作窗格內的主圖形上方,以判斷現有資料圖形主圖形的名稱。
然後會關閉主控,並使用 GetExpression 方法來取得最近套用的圖形項目運算式。 最後,它會在 [立即] 視窗中列印欄位類型和運算式值。
巨集會假設目前文件中存在名為 “Data Graphic” 的資料圖形。 如需將資料圖形母片新增至目前文件的 母片 集合的詳細資訊,請參閱 Masters.AddEx。
Public Sub SetExpression_Example()
Dim vsoMaster As Visio.Master
Dim vsoMasterCopy As Visio.Master
Dim vsoGraphicItem As Visio.GraphicItem
Dim strExpression As String
Dim fieldType As VisGraphicField
Set vsoMaster = Visio.ActiveDocument.Masters("Data Graphic")
Set vsoMasterCopy = vsoMaster.Open
Set vsoGraphicItem = vsoMasterCopy.GraphicItems(1)
vsoGraphicItem.SetExpression visGraphicExpression, "Width"
vsoMasterCopy.Close
vsoMaster.GraphicItems(1).GetExpression fieldType, strExpression
Debug.Print "Field type is "; fieldType
Debug.Print "Expression is "; strExpression
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。