Objeto Chart (Project)
O objeto Chart representa um gráfico em um relatório do Project.
Comentários
O objeto Chart no Project inclui os membros padrão que outros aplicativos do Office implementam para o Office Art. Por exemplo, consulte o objeto Chart no modelo de objeto VBA para Word, Excel e PowerPoint.
No Project, um gráfico é representado por um objeto Chart , que está contido por um objeto Shape ou uma coleção ShapeRange em um objeto Report . Para obter um diagrama que mostra o objeto Chart na hierarquia do modelo de objeto Project, consulte Mapa de objetos Aplicativo e Projetos.
Observação
A gravação de macro para o objeto Chart não é implementada. Ou seja, quando você grava uma macro no Project e adiciona manualmente um gráfico, adiciona elementos de gráfico ou formata manualmente um gráfico em um relatório, as etapas para adicionar e manipular o gráfico não são registradas.
Use o método Shapes.AddChart para adicionar um gráfico a um relatório. Para determinar se uma Forma ou um ShapeRange contém um gráfico, use o método HasChart .
O objeto Chart no Project não implementa eventos. Portanto, um gráfico no Project não pode ser animado para interagir com eventos do mouse ou responder a eventos como Selecionar ou Calcular, como pode no Excel.
Exemplo
O exemplo a seguir cria um gráfico escalar simples para tarefas no projeto ativo. O gráfico mostra os campos Trabalho Real, Trabalho Restante e Trabalho padrão.
Para criar alguns dados de exemplo, adicione quatro tarefas a um novo projeto, atribua recursos locais a essas tarefas e defina vários valores de duração e trabalho real. Por exemplo, experimente os valores na Tabela 1.
Tabela 1. Dados de exemplo para um gráfico simples
Nome da tarefa | Duration | Trabalho real |
---|---|---|
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
Quando você executa a macro AddSimpleScalarChart , o Project cria o relatório e adiciona um gráfico. O gráfico tem recursos padrão, exceto que o título é especificado pela propriedade SetElement a ser sobreposta no gráfico, em vez da posição padrão acima do gráfico.
Figura 1. O gráfico mostra os dados na Tabela 1
Para excluir o gráfico, você pode excluir a forma que contém o gráfico. A macro a seguir exclui o gráfico no relatório criado pela macro AddSimpleScalarChart e deixa o relatório vazio como a exibição ativa.
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
Para excluir o relatório, vá para uma exibição diferente e abra a caixa de diálogo Organizador . Não é possível excluir um relatório enquanto o relatório estiver ativo. O Organizador está disponível na guia DESENVOLVEDOR da faixa de opções e também na guia DESIGN , no grupo Relatório , no menu Gerenciar . Na guia Relatórios da caixa de diálogo Organizador , selecione Gráfico escalar simples no painel do projeto e escolha Excluir. Como alternativa, execute a macro a seguir para excluir o relatório.
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
Métodos
Propriedades
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.