共用方式為


GraphicItem.SetExpression 方法 (Visio)

設定 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物件副本, (通常稱為資料圖) ,名為「Data Graphic」,然後將資料圖 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 支援與意見反應