Объект 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
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.