Объект Chart (Project)

Объект Chart представляет диаграмму для отчета в Project.

Замечания

Объект Chart в Project включает стандартные элементы, которые другие приложения Office реализуют для Office Art. Например, см. объект Chart в объектной модели VBA для Word, Excel и PowerPoint.

В Project диаграмма представлена объектом Chart , который содержится в объекте Shape или коллекции ShapeRange в объекте Report . Схему, показывающую объект Chart в иерархии объектной модели Project, см. в разделе Схема объектов приложений и проектов.

Примечание.

Запись макроса для объекта Chart не реализована. То есть, когда вы записываете макрос в Project и вручную добавляете диаграмму, добавляете элементы диаграммы или вручную форматируете диаграмму в отчете, шаги по добавлению диаграммы и управлению ими не записываются.

Используйте метод Shapes.AddChart для добавления диаграммы в отчет. Чтобы определить, содержит ли диаграмма shape или ShapeRange , используйте метод HasChart .

Объект Chart в Project не реализует события. Таким образом, диаграмма в Project не может быть анимирована для взаимодействия с событиями мыши или реагирования на такие события, как Выбор или Вычисление, как это возможно в Excel.

Пример

В следующем примере создается простая скалярная диаграмма для задач в активном проекте. На диаграмме показаны поля по умолчанию "Фактические трудозаготовки", "Оставшиеся трудозаготовки" и "Трудозатреки".

Чтобы создать некоторые примеры данных, добавьте четыре задачи в новый проект, назначьте им локальные ресурсы и задайте различные значения длительности и фактической работы. Например, попробуйте использовать значения в таблице 1.

Таблица 1. Пример данных для простой диаграммы

Имя задачи Duration Фактическая работа
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

При запуске макроса AddSimpleScalarChart Project создает отчет и добавляет диаграмму. Диаграмма имеет функции по умолчанию, за исключением того, что заголовок указан свойством SetElement , наложенным на диаграмму, а не позицией по умолчанию над диаграммой.

Рис. 1. На диаграмме показаны данные в таблице 1

Простая скалярная диаграмма в отчете Чтобы удалить диаграмму, можно удалить фигуру, содержащую диаграмму. Следующий макрос удаляет диаграмму в отчете, созданном макросом AddSimpleScalarChart , и оставляет пустой отчет в активном представлении.

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

Чтобы удалить отчет, перейдите в другое представление и откройте диалоговое окно Организатор . Невозможно удалить отчет, пока отчет активен. Организатор доступен на вкладке РАЗРАБОТЧИК ленты, а также на вкладке КОНСТРУКТОР в группе Отчет в меню Управление. На вкладке Отчеты диалогового окна Организатор выберите Простая скалярная диаграмма в области проекта, а затем нажмите кнопку Удалить. Кроме того, выполните следующий макрос, чтобы удалить отчет.

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

Методы

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

Свойства

Имя
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

См. также

Объект Shape

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.