Diagrammobjekt (Projekt)

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 Diagrammobjekt dargestellt, das in einem Shape-Objekt oder einer ShapeRange-Auflistung in einem Report-Objekt enthalten ist. Ein Diagramm, das das Chart-Objekt in der Projektobjektmodellhierarchie zeigt, finden Sie unter Anwendungs- und Projektobjektzuordnung.

Hinweis

Die Makroaufzeichnung für das Diagrammobjekt ist nicht implementiert. Das heißt, wenn Sie ein Makro in Project aufzeichnen und ein Diagramm manuell hinzufügen, Diagrammelemente hinzufügen oder ein Diagramm in einem Bericht manuell 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 Auswählen oder Berechnen zu reagieren, wie dies 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 Felder Ist-Arbeit, Restarbeit und Standardarbeit an .

Um Beispieldaten zu erstellen, fügen Sie einem neuen Projekt vier Vorgänge hinzu, weisen Sie diesen Aufgaben lokale Ressourcen zu und legen Sie verschiedene Werte für Dauer und Ist-Arbeit fest. Versuchen Sie es beispielsweise mit den Werten in Tabelle 1.

Tabelle 1. Beispieldaten für ein einfaches Diagramm

Aufgabenname Duration Ist-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 AddSimpleScalarChart-Makro ausführen , erstellt Project den Bericht und fügt ein Diagramm hinzu. Das Diagramm verfügt über Standardfeatures, mit der Ausnahme, dass der Titel von der SetElement-Eigenschaft angegeben wird, der auf dem Diagramm überlagert werden soll, anstatt die Standardposition über dem Diagramm.

Abbildung 1: Das Diagramm zeigt die Daten in Tabelle 1

Einfaches skalares Diagramm 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 im Bericht, das vom Makro AddSimpleScalarChart erstellt wurde, 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 ENTWICKLERTOOLS im Menüband und auch auf der Registerkarte ENTWURF in der Gruppe Bericht im Menü Verwalten verfügbar. Wählen Sie auf der Registerkarte Berichte des Dialogfelds Organisator im Projektbereich die Option Einfaches Skalardiagramm aus, und wählen Sie 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

Name
ApplyChartTemplate
ApplyCustomType
ApplyDataLabels
ApplyLayout
AutoFormat
Axes
ChartWizard
ClearToMatchColorStyle
ClearToMatchStyle
Copy
CopyPicture
Delete
Export
GetChartElement
Refresh
RefreshPivotTable
SaveChartTemplate
Select
SeriesCollection
SetDefaultChart
SetElement
SetSourceData
UpdateChartData

Eigenschaften

Name
Application
AutoScaling
BackWall
BarShape
ChartArea
ChartColor
ChartData
ChartGroups
ChartStyle
ChartTitle
ChartType
Creator
DataTable
DepthPercent
DisplayBlanksAs
Elevation
Floor
Format
GapDepth
HasAxis
HasDataTable
HasLegend
HasTitle
HeightPercent
Legend
Parent
Perspective
PivotLayout
PlotArea
PlotBy
PlotVisibleOnly
RightAngleAxes
Rotation
Shapes
ShowAllFieldButtons
ShowAxisFieldButtons
ShowDataLabelsOverMaximum
ShowLegendFieldButtons
ShowReportFilterFieldButtons
ShowValueFieldButtons
SideWall
Walls

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.