共用方式為


Visio (的 GraphicItem.SetExpression 方法)

設定屬於 GraphicItem 物件規則一部分的運算式字串值,其會評估圖形資料 (自訂屬性) 。

注意事項

This Visio object or member is available only to licensed users of Visio Professional 2013.

語法

expressionSetExpression( _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 支援與意見反應