Visio (的 GraphicItem.SetExpression 方法)
設定屬於 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 方法圖形資料項目標籤 (,也就是當您將 Field 參數的 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物件複本, (通常稱為名為「資料圖形」的資料圖形) ,然後設定資料圖形之GraphicItems集合中第一個圖形專案的運算式,以顯示套用資料圖形之任何圖形的寬度。
注意事項
您可以將滑鼠指標移到 Visio 使用者介面中 [資料圖形] 工作窗格內的主圖形上方,以判斷現有資料圖形主圖形的名稱。
然後它會關閉主圖形,並使用 GetExpression 方法來取得圖形專案最近套用的大多數運算式。 最後,它會在 [即時運算] 視窗中列印欄位類型和運算式的值。
宏假設目前檔中存在名為 「Data Graphic」 的資料圖形。 如需將資料圖形主圖形新增至目前檔之 Masters 集合的詳細資訊,請參閱 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 支援與意見反應。