Chart-Objekt (Project)
Das Chart-Objekt stellt ein Diagramm in einem Bericht in Project dar.
Das Chart-Objekt in Project enthält die Standardmember, die andere Office-Anwendungen für Office Art implementieren. Sehen Sie sich beispielsweise das Chart-Objekt im VBA-Objektmodell für Word, Excel und PowerPoint an.
In Project wird ein Diagramm durch ein Chart-Objekt dargestellt, das in einem Shape-Objekt oder einer ShapeRange-Auflistung in einem Report-Objekt enthalten ist. Ein Diagramm, das das Chart-Objekt in der Hierarchie des Project-Objektmodells zeigt, finden Sie unter Application and Projects object map.
Hinweis
Die Makroaufzeichnung für das Chart-Objekt ist nicht implementiert. Das heißt, wenn Sie ein Makro in Project aufzeichnen und manuell ein Diagramm hinzufügen, Diagrammelemente hinzufügen oder manuell ein Diagramm in einem Bericht formatieren, werden die Schritte zum Hinzufügen und Bearbeiten des Diagramms nicht aufgezeichnet.
Verwenden Sie die Shapes.AddChart-Methode , um einem Bericht ein Diagramm hinzuzufügen. Verwenden Sie die HasChart-Methode, um zu bestimmen, ob ein Shape oder ein ShapeRange ein Diagramm enthält.
Das Chart-Objekt in Project implementiert keine Ereignisse. Daher kann ein Diagramm in Project nicht animiert werden, um mit Mausereignissen zu interagieren oder auf Ereignisse wie Select oder Calculate zu reagieren, wie es in Excel möglich ist.
Im folgenden Beispiel wird ein einfaches Skalardiagramm für Vorgänge im aktiven Projekt erstellt. Das Diagramm zeigt die Standardfelder Ist-Arbeit, Verbleibende Arbeit und Arbeit .
Um Beispieldaten zu erstellen, fügen Sie einem neuen Projekt vier Vorgänge hinzu, weisen diesen Vorgängen lokale Ressourcen zu, und legen Sie verschiedene Werte für Dauer und tatsächliche Arbeit fest. Probieren Sie beispielsweise die Werte in Tabelle 1 aus.
Tabelle 1. Beispieldaten für ein einfaches Diagramm
Aufgabenname | Duration | Aktuelle Arbeit |
---|---|---|
T1 | 2d | 16 |
T2 | 5d | 19 |
T3 | 4d | 7 |
T4 | 2d | 0 |
Sub AddSimpleScalarChart()
Dim chartReport As Report
Dim reportName As String
' Add a report.
reportName = "Simple scalar chart"
Set chartReport = ActiveProject.Reports.Add(reportName)
' Add a chart.
Dim chartShape As Shape
Set chartShape = ActiveProject.Reports(reportName).Shapes.AddChart()
chartShape.Chart.SetElement (msoElementChartTitleCenteredOverlay)
chartShape.Chart.ChartTitle.Text = "Sample Chart for the Test1 project"
End Sub
Wenn Sie das Makro AddSimpleScalarChart ausführen, erstellt Project den Bericht und fügt ein Diagramm hinzu. Das Diagramm verfügt über Standardfeatures, mit der Ausnahme, dass der Titel durch die SetElement-Eigenschaft angegeben wird, die im Diagramm überlagert werden soll, anstelle der Standardposition über dem Diagramm.
Abbildung 1: Das Diagramm zeigt die Daten in Tabelle 1
Um das Diagramm zu löschen, können Sie die Form löschen, die das Diagramm enthält. Das folgende Makro löscht das Diagramm für den Bericht, der mit dem Makro AddSimpleScalarChart erstellt wird, und belässt den leeren Bericht als aktive Ansicht.
Sub DeleteTheShape()
Dim i As Integer
Dim reportName As String
Dim theShape As MSProject.Shape
reportName = "Simple scalar chart"
For i = 1 To ActiveProject.Reports.Count
If ActiveProject.Reports(i).Name = reportName Then
Set theShape = ActiveProject.Reports(i).Shapes(1)
theShape.Delete
End If
Next i
End Sub
Um den Bericht zu löschen, wechseln Sie zu einer anderen Ansicht, und öffnen Sie dann das Dialogfeld Organisator . Sie können einen Bericht nicht löschen, während der Bericht aktiv ist. Der Organisator ist auf der Registerkarte ENTWICKLER im Menüband und auch auf der Registerkarte ENTWURF in der Gruppe Bericht im Menü Verwalten verfügbar. Wählen Sie im Dialogfeld Organisator auf der Registerkarte Berichte im Projektbereich Die Option Einfaches Skalardiagramm und dann Löschen aus. Führen Sie alternativ das folgende Makro aus, um den Bericht zu löschen.
Sub DeleteTheReport()
Dim i As Integer
Dim reportName As String
reportName = "Simple scalar chart"
' To delete the active report, change to another view.
ViewApplyEx Name:="&Gantt Chart"
ActiveProject.Reports(reportName).Delete
End Sub
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.