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.