Shapes.AddTable method (Project) (Método Shapes.AddTable [Projeto])
Adiciona uma tabela ao relatório e devolve um objeto Forma 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 | O limite esquerdo (em pontos) da tabela, em relação ao lado esquerdo do painel de relatórios. |
Top | Obrigatório | Single | A margem superior (em pontos) da tabela, relativamente à parte superior do painel de relatórios. |
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, tem uma linha e uma coluna, que contém o texto Utilizar o painel de tarefas Dados da Tabela para criar uma tabela (consulte a Figura 1). Quando seleciona a tabela, o Project mostra o painel de tarefas de dados da tabela denominado Lista de Campos, com TAREFAS selecionadas por predefinição. Com o painel de tarefas Lista de Campos , pode adicionar manualmente campos ao relatório.
Figura 1. O método AddTable cria uma tabela com uma linha e uma coluna
Exemplo
A macro TestReportTable cria a tabela apresentada na Figura 1 e, em seguida, seleciona a tabela para apresentar 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, utilize o método UpdateTableData . Adicione o seguinte código 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 num projeto que tenha quatro tarefas com vários valores para a percentagem concluída e os custos dos recursos. A Figura 2 é um exemplo dos resultados da tabela.
Figura 2. O método UpdateTableData pode adicionar campos a uma tabela
Confira também
Método Shapes ObjectShape ObjectApplication.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.