Compartir a través de


Objeto Chart (Project)

El objeto Chart representa un gráfico en un informe de Project.

Comentarios

El objeto Chart de Project incluye los miembros estándar que otras aplicaciones de Office implementan para Office Art. Por ejemplo, vea el objeto Chart en el modelo de objetos vba para Word, Excel y PowerPoint.

En Project, un gráfico se representa mediante un objeto Chart , que está contenido en un objeto Shape o una colección ShapeRange en un objeto Report . Para ver un diagrama que muestra el objeto Chart en la jerarquía del modelo de objetos de Project, vea Asignación de objetos Application y Projects.

Nota:

No se implementa la grabación de macros para el objeto Chart . Es decir, al grabar una macro en Project y agregar manualmente un gráfico, agregar elementos de gráfico o dar formato manualmente a un gráfico en un informe, no se registran los pasos para agregar y manipular el gráfico.

Use el método Shapes.AddChart para agregar un gráfico a un informe. Para determinar si una shape o un ShapeRange contiene un gráfico, use el método HasChart .

El objeto Chart de Project no implementa eventos. Por lo tanto, un gráfico de Project no se puede animar para interactuar con eventos del mouse ni responder a eventos como Seleccionar o Calcular, como puede hacer en Excel.

Ejemplo:

En el ejemplo siguiente se crea un gráfico escalar simple para las tareas del proyecto activo. En el gráfico se muestran los campos Trabajo real, Trabajo restante y Trabajo predeterminado.

Para crear algunos datos de ejemplo, agregue cuatro tareas a un nuevo proyecto, asigne recursos locales a esas tareas y establezca varios valores de duración y trabajo real. Por ejemplo, pruebe los valores de la tabla 1.

Tabla 1. Datos de ejemplo para un gráfico simple

Nombre de tarea Duración Trabajo 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

Al ejecutar la macro AddSimpleScalarChart , Project crea el informe y agrega un gráfico. El gráfico tiene características predeterminadas, excepto que la propiedad SetElement especifica el título que se va a superponer en el gráfico, en lugar de la posición predeterminada encima del gráfico.

Figura 1. El gráfico muestra los datos de la tabla 1

Gráfico escalar simple en un informe Para eliminar el gráfico, puede eliminar la forma que contiene el gráfico. La siguiente macro elimina el gráfico del informe creado por la macro AddSimpleScalarChart y deja el informe vacío como la vista activa.

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 eliminar el informe, vaya a una vista diferente y, a continuación, abra el cuadro de diálogo Organizador . No se puede eliminar un informe mientras el informe está activo. El organizador está disponible en la pestaña DESARROLLADOR de la cinta de opciones y también en la pestaña DISEÑO, en el grupo Informe, en el menú Administrar. En la pestaña Informes del cuadro de diálogo Organizador , seleccione Gráfico escalar simple en el panel del proyecto y, a continuación, elija Eliminar. Como alternativa, ejecute la siguiente macro para eliminar el informe.

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

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

Propiedades

Nombre
Aplicación
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

Vea también

Objeto Shape

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.