Freigeben über


GraphicItem.SetExpression-Methode (Visio)

Legt den Wert der Ausdruckszeichenfolge fest, die Teil der Regel eines GraphicItem-Objekts ist, anhand derer Shape-Daten (benutzerdefinierte Eigenschaften) ausgewertet werden.

Hinweis

Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.

Syntax

Ausdruck. SetExpression( _Field_ , _Expression_ )

Ausdruck Ein Ausdruck, der ein GraphicItem-Objekt zurückgibt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Feld Erforderlich VisGraphicField Die Beschriftung oder Formel des Primärdatenfelds (Spalte), das dem GraphicItem-Objekt zugewiesen ist. Mögliche Werte finden Sie in den Hinweisen.
Ausdruck Erforderlich String Der ShapeSheet-Ausdruck, der dem Field-Parameter zugeordnet ist.

Rückgabewert

Nichts

Bemerkungen

Der Field-Parameter sollte einer der folgenden Werte aus der VisGraphicField-Enumeration sein, die in der Microsoft Visio-Typbibliothek deklariert ist.

Konstante Wert Beschreibung
visGraphicPropertyLabel 1 Die Beschriftung eines Shape-Datenelements.
visGraphicExpression 2 Die ShapeSheet-Formel eines Shape-Datenelements.

Wenn Sie der SetExpression-Methode eine Shape-Data-Item-Bezeichnung übergeben (d. h., wenn Sie visGraphicPropertyLabel für den Field-Parameter übergeben), müssen Sie die Bezeichnung in geschweifte Klammern ({}) einschließen. Wenn Sie beispielsweise den Namen des Shape-Datenelements "Kosten" übergeben möchten, müssen Sie ihn wie folgt schreiben: {Cost}.

Verweisen Sie auf die Shape-Daten eines anderen Shapes als dem Shape, auf das die Datengrafik angewendet wird, indem Sie den Namen des Shapes, gefolgt von einem Ausrufezeichen (!) und dann dem Namen des Felds übergeben. Im folgenden Beispiel können Sie beispielsweise die folgende Syntax verwenden, um auf die Breite der Form mit dem Namen Ellipse.34 zu verweisen:

vsoGraphicItem.SetExpression visGraphicExpression, "Ellipse.34!Width"

Bevor Sie ein Grafikelement bearbeiten können, einschließlich des Festlegens seiner Ausdruckszeichenfolge, müssen Sie die Master.Open-Methode verwenden, um eine Kopie des Datengrafikmasters zu öffnen, zu dessen GraphicItems-Auflistung das Grafikelement gehört. Wenn Sie den Ausdruck des Grafikelements festgelegt und alle gewünschten Änderungen vorgenommen haben, führen Sie mit der Master.Close-Methode einen Commit der Änderungen aus.

Beispiel

Das folgende VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie sie die SetExpression-Methode verwenden, um den Wert der Ausdruckszeichenfolge für ein Datengrafikelement festzulegen. Es öffnet eine Kopie des Master-Objekts vom Typ visTypeDataGraphic (häufig als Datengrafik bezeichnet) mit dem Namen "Datengrafik" und legt dann den Ausdruck des ersten Grafikelements in der GraphicItems-Auflistung der Datengrafik fest, um die Breite einer beliebigen Form anzuzeigen, auf die die Datengrafik angewendet wird.

Hinweis

Sie können den Namen eines vorhandenen Datengrafikmasters ermitteln, indem Sie die Maus über den Master im Aufgabenbereich Datengrafiken auf der Visio-Benutzeroberfläche bewegen.

Anschließend wird der Master geschlossen und die GetExpression-Methode verwendet, um den meist kürzlich angewendeten Ausdruck für das Grafikelement abzurufen. Schließlich werden der Feldtyp und der Wert des Ausdrucks im Direktfenster ausgegeben.

Das Makro geht davon aus, dass eine Datengrafik mit dem Namen "Datengrafik" im aktuellen Dokument vorhanden ist. Weitere Informationen zum Hinzufügen eines Datengrafikmasters zur Masters-Auflistung des aktuellen Dokuments finden Sie unter 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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.