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

Gráfico escalar simples em um relatório 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

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

Propriedades

Nome
Aplicativo
AutoScaling
BackWall
BarShape
ChartArea
ChartColor
ChartData
ChartGroups
ChartStyle
ChartTitle
ChartType
Creator
DataTable
DepthPercent
DisplayBlanksAs
Elevation
Floor
Formato
GapDepth
HasAxis
HasDataTable
HasLegend
HasTitle
HeightPercent
Legend
Responsável
Perspective
PivotLayout
PlotArea
PlotBy
PlotVisibleOnly
RightAngleAxes
Rotation
Shapes
ShowAllFieldButtons
ShowAxisFieldButtons
ShowDataLabelsOverMaximum
ShowLegendFieldButtons
ShowReportFilterFieldButtons
ShowValueFieldButtons
SideWall
Walls

Confira também

Objeto Shape

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.