Compartilhar via


Método Shapes.AddTable (Project)

Adiciona uma tabela ao relatório e retorna um objeto Shape que representa a tabela.

Sintaxe

expression. AddTable(NumRows,NumColumns,Left,Top,Width,Height)

expressão Uma variável que representa um objeto Formas.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
NumRows Obrigatório Long O número de linhas na tabela. NumRows é ignorado ao criar uma tabela.
NumColumns Obrigatório Long O número de colunas na tabela. NumColumns é ignorado ao criar uma tabela.
Left Obrigatório Single A borda esquerda (em pontos) da tabela, em relação ao lado esquerdo do painel de relatório.
Top Obrigatório Single A borda superior (em pontos) da tabela, em relação à parte superior do painel de relatório.
Width Obrigatório Single A largura da tabela, em pontos.
Height Obrigatório Single A altura da tabela, em pontos.
NumRows Obrigatório INT
NumColumns Obrigatório INT
Left Obrigatório FLOAT
Top Obrigatório FLOAT
Width Obrigatório FLOAT
Height Obrigatório FLOAT
Nome Obrigatório/Opcional Tipo de dados Descrição

Valor de retorno

Formato

Comentários

O Project ignora NumRows e NumColumns quando o método AddTable cria uma tabela. Quando uma tabela é criada, ela tem uma linha e uma coluna, que contém o texto Usar o painel de tarefas Dados da Tabela para criar uma tabela (consulte Figura 1). Ao selecionar a tabela, o Project mostra o painel de tarefas de dados da tabela chamado Lista de Campos, com TAREFAS selecionadas por padrão. Usando o painel de tarefas Lista de Campos , você pode adicionar campos manualmente ao relatório.

Figura 1. O método AddTable cria uma tabela com uma linha e uma coluna

Using the AddTable method

Exemplo

A macro TestReportTable cria a tabela mostrada na Figura 1 e, em seguida, seleciona a tabela para exibir o painel de tarefas Dados da Tabela .

Sub TestReportTable()
    Dim theReport As Report
    Dim tableShape As shape
    Dim theReportTable As ReportTable
    Dim reportName As String
    Dim tableName As String
    Dim rows As Integer
    Dim columns As Integer
    Dim left As Integer
    Dim top As Integer
    Dim width As Integer
    Dim height As Integer
    
    reportName = "Table Report"
    Set theReport = ActiveProject.Reports.Add(reportName)
    
     ' Add the table.
    tableName = "Task information"
    rows = 0
    columns = 0
    left = 0
    top = 30
    width = 110
    height = 20
       
    ' Project ignores the NumRows and NumColumns parameters when
    ' creating a ReportTable.
    Set tableShape = theReport.Shapes.AddTable(rows, columns, _
                        left, top, width, height)
    
    tableShape.Name = tableName
    tableShape.Select
    Set theReportTable = tableShape.Table
    
    With theReportTable
        Debug.Print "Rows: " & .RowsCount
        Debug.Print "Columns: " & .ColumnsCount
        Debug.Print "Cell 1,1 contents:" & vbCrLf & vbTab; .GetCellText(1, 1)
    End With
End Sub

Para especificar campos para a tabela, use o método UpdateTableData . Adicione o código a seguir após a Set theReportTable = tableShape.Table linha na macro anterior. O parâmetro OutlineLevel especifica tarefas de nível 1 e filtra a tarefa de resumo do projeto.

    ' Set fields for the table.
    Dim fieldArray(1 To 6) As PjField
        
    fieldArray(1) = pjTaskName
    fieldArray(2) = pjTaskStart
    fieldArray(3) = pjTaskFinish
    fieldArray(4) = pjTaskPercentComplete
    fieldArray(5) = pjTaskActualCost
    fieldArray(6) = pjTaskRemainingCost
        
    theReportTable.UpdateTableData Task:=True, OutlineLevel:=1, SafeArrayOfPjField:=fieldArray

Execute a macro TestReportTable modificada em um projeto que tem quatro tarefas com vários valores para percentual de custos completos e de recursos. A Figura 2 é um exemplo dos resultados da tabela.

Figura 2. O método UpdateTableData pode adicionar campos a uma tabela

Updating a table with the UpdateTableData method

Confira também

Método Shapes ObjectObjectApplication.Table

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.