Informationen zum grafischen Anzeigen von Daten (Visio)

Hinweis Datenkonnektivitätsfeatures sind nur für lizenzierte Benutzer von Microsoft Visio Professional 2013 verfügbar.

Die Datenkonnektivität in Visio unterliegt vier Gesichtspunkten:

  • Herstellen einer Verbindung zu einer Datenquelle
  • Verknüpfen von Shapes mit Daten
  • Grafisches Anzeigen von verknüpften Daten
  • Aktualisieren verknüpfter Daten, die in der Datenquelle geändert wurden, Aktualisieren verknüpfter Shapes und Beheben möglicher Konflikte

In der Regel wenden Sie sich diesen Aspekten in der aufgeführten Reihenfolge zu. Sie verbinden also zunächst die Visio-Zeichnung mit einer Datenquelle, verknüpfen dann die Shapes in der Zeichnung mit Daten in der Datenquelle, zeigen die Daten in verknüpften Shapes grafisch an und aktualisieren bei Bedarf die verknüpften Daten. Für jeden dieser Aspekte sind neue Objekte und Elemente im Visio-Objektmodell zugewiesen. In diesem Thema werden die Aspekte Drei und Vier erläutert: das grafische Anzeigen verknüpfter Daten in den Visio-Shapes und das Aktualisieren von Daten. Weitere Informationen zu den anderen Aspekten der Datenkonnektivität finden Sie unter den folgenden Themen:

Damit verknüpfte Daten programmgesteuert angezeigt werden, können Sie die Visio-API für die Datenanzeige verwenden. Die API enthält die folgenden Objekte und zugehörigen Elemente:

Nachdem Sie Shapes in der Visio-Zeichnung mit Zeilen in einem Datenrecordset verknüpft haben, können Sie die verknüpften Daten programmgesteuert grafisch anzeigen. Angenommen, Ihre Zeichnung enthält mehrere mit Daten verknüpfte Shapes, die jeweils ein Projekt in einem bestimmten Stadium anzeigen. Sie können einem bestimmten Element der Shape-Daten, beispielsweise dem Prozentsatz der Projektfertigstellung, eine Statusanzeige zuordnen. Sie können die Statusanzeige dann auf eine Auswahl von Projekt-Shapes anwenden und den Fortschritt der einzelnen Projekte visuell darstellen.

Übersicht über Datengrafiken und Grafikelemente

Um die grafische Darstellung von Daten zu vereinfachen, führt Visio das Konzept der Datengrafiken und einen Master-Objekttyp ein, der als Datengrafikmaster bezeichnet wird und in der VisMasterTypes-Enumeration durch den Wert visTypeDataGraphic dargestellt wird. Um der Masters-Auflistung ein Master-Objekt vom Typ visTypeDataGraphic hinzuzufügen, müssen Sie die Masters.AddEx-Methode verwenden.

Visio enthält verschiedene Master-Typen, z. B. Shape-Master. Wenn Sie eine Shape-Master-Instanz erstellen, wird diese zu einem Shape. Visio enthält auch Master für Füllmuster, Linienmuster und Linienenden, für die keine Instanzen erstellt werden können. Sie können diese Master auf Shapes anwenden, um das Muster des Masters auf das Shape zu übertragen. Datengrafikmaster ähneln eher Mustermastern, da Sie keine Instanzen davon erstellen. Stattdessen wenden Sie sie wie Master für Linien- und Füllmuster auf Shapes an.

Datengrafikmaster entsprechen den Datengrafiken, die im Aufgabenbereich Datengrafiken auf der Visio-Benutzeroberfläche angezeigt werden. Ein Datengrafikmaster besteht aus mindestens einem Grafikelement. Grafikelemente sind Visio-Shapes, die als vorgefertigte visuelle Komponenten entworfen wurden und die Shape-Daten zugeordnet werden können, damit diese Daten basierend auf von Ihnen definierten Regeln angezeigt werden, und zwar an einer Position relativ zum angegebenen Shape.

In Visio sind Grafikelemente in folgende Typen unterteilt:

  • Text Zeigt Daten als Text in einer Legende an einer angegebenen Position relativ zur Form an.
  • Farbe nach Wert Ändert die Farbe der Form basierend auf einem Vergleich zwischen Shape-Daten und einem bestimmten Wert oder Wertebereich.
  • Datenbalken Verwendet Balkendiagramme und Diagramme, um Daten an einer angegebenen Position relativ zur Form anzuzeigen.
  • Symbolsatz Zeigt eines einer Gruppe von Symbolen an, die einen Datenwert oder eine Bedingung an einer angegebenen Position relativ zur Form darstellt.

Visio stellt eine Vielzahl an Standarddatengrafiken bereit, die bereits Grafikelemente enthalten. Wenn Sie eine Datengrafik mit einer anderen Kombination aus Grafikelementen auf Shapes anwenden möchten, können Sie eine benutzerdefinierte Datengrafik erstellen. Es wird empfohlen, dass sowohl das Erstellen von Datengrafiken als auch das Hinzufügen von Datengrafikelementen auf der Visio-Benutzeroberfläche erfolgen.

So erstellen Sie Datengrafiken auf der Benutzeroberfläche

  1. Klicken Sie auf der Registerkarte Daten auf Datengrafiken.
  2. Klicken Sie auf Neue Datengrafik erstellen, und klicken Sie dann im Dialogfeld Neue Datengrafik auf Neues Element.
  3. Passen Sie das Element im neu geöffneten Dialogfeld an, und fügen Sie dann auf dieselbe Weise benutzerdefinierte Elemente hinzu.

Sie können auch Datengrafikmaster erstellen und sie programmgesteuert mit vorhandenen Grafikelementen auffüllen. Es ist nicht möglich, Grafikelemente programmgesteuert zu erstellen, doch Sie können das Verhalten vorhandener Datengrafiken anpassen. Außerdem können Sie Code verwenden, um das Verhalten und die Position von Grafikelementen sowie die Regeln zu ändern, die Ausdrücke genannt werden und die definieren, wie einzelne Grafikelemente Daten anzeigen. Ausdrücke können ShapeSheet-Formeln, andere gültige ShapeSheet-Ausdrücke oder Beschriftungen für Shape-Daten (benutzerdefinierte Eigenschaften) sein. Um einen Ausdruck festzulegen, bei dem es sich um eine Formdatenbeschriftung handelt, müssen Sie die Bezeichnung in geschweifte Klammern ({}) einschließen und sie dann als zweiten Parameter ( Expression) der GraphicItem.SetExpression-Methode übergeben.

Nachdem Sie eine Datengrafik erstellt haben, die eine benutzerdefinierte Kombination aus Grafikelementen enthält, und nachdem Sie das Verhalten dieser Grafikelemente definiert haben, können Sie die Datengrafik programmgesteuert auf Shapes anwenden, die mit Daten verknüpft sind.

Objekte und Elemente in Datengrafiken

Neben den Master-Objekten vom Typ visTypeDataGraphic, die im vorherigen Abschnitt beschrieben wurden, stellt Visio die folgenden Objekte und zugehörigen Elemente in der Datengrafik-API bereit:

Zusätzlich zu diesen speziell datengrafikbezogenen Objekten und deren Membern bilden mehrere Member anderer herkömmlicher Visio-Objekte Einen Teil der Datengrafik-API. Mit den Eigenschaften Shape.DataGraphic und Selection.DataGraphic können Sie beispielsweise Datengrafiken auf Shapes bzw. Auswahlen anwenden. Die schreibgeschützte Shape.IsDataGraphicCallout-Eigenschaft gibt an, ob ein bestimmtes Shape als Datengrafikelement in ihrer Zeichnung funktioniert.

Anwenden von Datengrafiken auf Shapes, die mit Daten verknüpft sind

Im folgenden Beispiel wird gezeigt, wie Sie mit der Selection.DataGraphic-Eigenschaft eine vorhandene benutzerdefinierte Datengrafik, die Sie auf der Benutzeroberfläche erstellen, auf eine Auswahl von Shapes in der Zeichnung anwenden. Damit dieser Code funktioniert, muss die vorhandene benutzerdefinierte Datengrafik den Namen "MyCustomDataGraphic" haben. Alternativ können Sie den Namen einer vorhandenen Datengrafik in Ihrer Zeichnung durch "MyCustomDataGraphic" im Code ersetzen.

Public Sub ApplyDataGraphic() 
    Dim vsoSelection As Visio.Selection 
    ActiveWindow.SelectAll 
    Set vsoSelection = ActiveWindow.Selection 
    Set vsoSelection.DataGraphic = ActiveDocument.Masters("MyCustomDataGraphic") 
End Sub

Anpassen des Verhaltens von Datengrafikmaster-Objekten

Verwenden Sie die Eigenschaften Master.DataGraphicHidden und Master.DataGraphicHidesText , um bestimmte Aspekte des Verhaltens von Datengrafikmastern anzupassen.

Die DataGraphicHidden-Eigenschaft bestimmt, ob ein Datengrafikmaster im Katalog Datengrafiken auf der Visio-Benutzeroberfläche angezeigt wird. Wenn Sie den Wert dieser Eigenschaft für einen Master auf True festlegen, wird der Master nicht in der Liste der Datengrafiken im Katalog angezeigt. Der Standardwert dieser Eigenschaft lautet False.

Die DataGraphicsHidesText-Eigenschaft bestimmt, ob durch das Anwenden eines Datengrafikmasters der Text eines Shapes ausgeblendet wird, auf das der Datengrafikmaster angewendet wurde. (Bei einem Gruppen-Shape bezieht sich die Eigenschaft auf das primäre Shape.) Der Standardwert für diese Eigenschaft lautet ebenfalls False.

Die GraphicItem.UseDataGraphicPosition-Eigenschaft bestimmt, ob die aktuelle Standardbeschriftungsposition für Grafikelemente des Datengrafikmasters verwendet werden soll, zu dessen GraphicItems-Auflistung ein Grafikelement gehört. Die Standardbeschriftungsposition für Grafikelemente in der GraphicItems-Auflistung eines Master-Objekts vom Typ visTypeDataGraphic wird durch die Einstellungen der Eigenschaften Master.DataGraphicVerticalPosition und Master.DataGraphicHorizontalPosition angegeben. Wenn für UseDataGraphicPosition der Wert True angegeben ist, entspricht die Position des Grafikelements der Standardeinstellung. Wenn UseDataGraphicPositionauf False festgelegt ist, wird seine Position durch die Einstellungen der Eigenschaften Graphic Item.VerticalPosition und GraphicItem.HorizontalPosition bestimmt.

Wenn außerdem die Werte der Eigenschaften HorizontalPosition und VerticalPosition eines Grafikelements mit den Werten der Eigenschaft DataGraphicHorizontalPosition bzw. DataGraphicVerticalPosition übereinstimmen, wird der Wert der UseDataGraphicPosition-Eigenschaft für dieses Grafikelement automatisch auf True festgelegt.

Sie können jedoch mithilfe des Steuerpunkts der Datengrafik die Position einer Datengrafik manuell ändern, die auf ein Shape angewendet wurde. Eine auf diese Weise festgelegte Position hat Vorrang vor der durch die Eigenschafteneinstellungen angegebenen Position.

Die Master.DataGraphicShowBorder-Eigenschaft bestimmt, ob ein Rahmen um Grafikelemente herum angezeigt wird, die sich relativ zu der Form befinden, auf die eine Datengrafik angewendet wird. Standardmäßig ist der Rahmen ausgeblendet.

Programmgesteuertes Zusammenstellen von Datengrafiken

Das folgende Beispiel zeigt, wie Sie einen Datengrafikmaster erstellen, ihm ein vorhandenes Grafikelement hinzufügen und dieses Grafikelement dann bearbeiten. In diesem Beispiel wird die Masters.AddEx-Methode verwendet, um der Masters-Auflistung des aktuellen Dokuments einen neuen Datengrafikmaster hinzuzufügen.

Anschließend wird mithilfe der Master.Open-Methode eine Kopie eines vorhandenen Datengrafikmaster-Objekts zur Bearbeitung abgerufen. Weitere Informationen dazu, warum Sie eine Kopie eines Master-Objekts anstelle des Master-Objekts bearbeiten müssen, finden Sie unter der Open-Methode. Als Nächstes wird die GraphicItems.AddCopy-Methode verwendet, um der GraphicItems-Auflistung des neuen Masters eine Kopie eines vorhandenen Grafikelements hinzuzufügen, und die GraphicItem.SetExpression-Methode , um das Datenfeld zu ändern, das das Grafikelement darstellt. Außerdem wird die GraphicItem.PositionHorizontal-Eigenschaft so festgelegt, dass die horizontale Position des Grafikelements relativ zu dem Shape geändert wird, auf das die Eigenschaft angewendet wird.

Schließlich legt sie die Master.DataGraphicHidesText-Eigenschaft auf True fest, um den Text der Form auszublenden, und schließt die Kopie des Masters, wodurch die Änderungen auf vorhandene Shapes angewendet werden, auf die dieses Datengrafikmaster angewendet wird. Anschließend können Sie den neuen Datengrafikmaster auf zusätzliche Shapes anwenden.

Public Sub AddNewDataGraphicMaster() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoMaster_Old As Visio.Master 
    Dim vsoGraphicItem As GraphicItem 
    Dim vsoGraphicItem_Old As Visio.GraphicItem 
 
    Set vsoMaster = ActiveDocument.Masters.AddEx(visTypeDataGraphic) 
    Set vsoMasterCopy = vsoMaster.Open 
    Set vsoMaster_Old = ActiveDocument.Masters("old_master_name") 
    Set vsoGraphicItem_Old = vsoMaster_Old.GraphicItems(1) 
    Set vsoGraphicItem = vsoMasterCopy.GraphicItems.AddCopy(vsoGraphicItem_Old) 
 
    vsoGraphicItem.SetExpression visGraphicExpression, "new_data_field_name" 
    vsoGraphicItem.PositionHorizontal = visGraphicLeft 
    vsoMasterCopy.DataGraphicHidesText = True; 
    vsoMasterCopy.Close 
 
End Sub

Im vorangehenden Codebeispiel wird davon ausgegangen, dass Sie den Namen des vorhandenen Datengrafikmasters kennen, der ein oder mehrere Grafikelemente enthält, die Sie dem neuen Master hinzufügen möchten, sowie die IDs eines oder mehrerer Grafikelemente, die Sie dem Master hinzufügen möchten. Sie können den Namen eines vorhandenen Datengrafikmasters ermitteln, indem Sie im Aufgabenbereich Datengrafiken mit der Maus auf den Master bewegen. Sie können auch Masternamen und IDs ermitteln, indem Sie die Masters-Auflistung im aktuellen Dokument durchlaufen, wie im folgenden Code gezeigt.

For intCounter = 1 To ActiveDocument.Masters.Count 
        If ActiveDocument.Masters(intCounter).Type = visTypeDataGraphic Then 
            Debug.Print ActiveDocument.Masters(intCounter).Name, ActiveDocument.Masters(intCounter).ID 
        End If 
    Next

Ebenso können Sie die GraphicItems-Auflistung eines Masters durchlaufen, um die Werte der ID- und Tag-Eigenschaften eines vorhandenen Grafikelements zu bestimmen, wie im folgenden Beispiel gezeigt. Die Tag-Eigenschaft ist eine Zeichenfolge, die von Visio nicht verwendet wird. Sie ist standardmäßig leer. Sie können für sie jedoch einen Wert angeben, um einzelne Grafikelemente programmgesteuert einfacher identifizieren zu können.

For intCounter = 1 To (vsoMaster_Old.GraphicItems.Count) 
        Debug.Print vsoMaster_Old.GraphicItems(intCounter).ID, oldMaster.GraphicItems(intCounter).Tag 
    Next

Wenn Sie ein Codebeispiel für das programmgesteuerte Anpassen von Datengrafiken anzeigen möchten, laden Sie das Visio SDK herunter, und schauen Sie in der Codebeispielbibliothek nach.

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.