Auf Englisch lesen

Freigeben über


Chart-Objekt (Project)

Das Chart-Objekt stellt ein Diagramm in einem Bericht in Project dar.

Hinweise

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.

Beispiel

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

Einfaches Skalardiagramm in einem Bericht 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

Methoden

Eigenschaften

Siehe auch

Shape-Objekt

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.