Objeto ReportTable (Project)
Representa uma forma na forma de uma tabela em um relatório de projeto.
Comentários
Observação
[!OBSERVAçãO] Macro de gravação para o objeto ReportTable não está implementada. Ou seja, quando você grava uma macro no Project e adiciona manualmente uma tabela de relatório ou editar elementos de tabelas, as etapas para adicionar e manipulá-lo a tabela de relatório não são registradas.
O objeto ReportTable é um tipo de objeto Shape; ele não está relacionado ao objeto Table. Projeto tem VBA suporte limitado para tabelas de relatório; para especificar os campos de tabela, use manualmente o painel de tarefas da Lista de campos (consulte a Figura 1). Para mostrar ou ocultar o painel de tarefas da Lista de campos, escolha o comando de Dados da tabela na guia DESIGN em FERRAMENTAS de TABELA na faixa de opções. Para especificar as propriedades de layout ou design da tabela, você pode usar a guia DESIGN e na guia LAYOUT na faixa de opções.
Você pode atualizar a consulta de dados associada a uma tabela de relatório, usando o método UpdateTableData. Para obter o texto em uma célula de tabela, use o método GetCellText.
Para criar programaticamente um ReportTable, use o método Shapes.AddTable. Para retornar um objeto ReportTable , use Shapes(Index).Table
, em que Index é o nome ou o número de índice de uma forma.
Exemplo
A macro TestReportTable criará um relatório denominado testes da tabela e, em seguida, cria um objeto ReportTable.
Sub TestReportTable()
Dim theReport As Report
Dim theShape As Shape
Dim theReportTable As ReportTable
Dim reportName As String
Dim tableName As String
Dim rows As Integer, columns As Integer, left As Integer, _
top As Integer, width As Integer, height As Integer
rows = 3
columns = 4
left = 20
top = 20
width = 200
height = 100
reportName = "Table Tests"
tableName = "Basic Project Data Table"
Set theReport = ActiveProject.Reports.Add(reportName)
' Project ignores the NumRows and NumColumns parameters when creating a ReportTable.
Set theShape = theReport.Shapes.AddTable( _
rows, columns, left, top, width, height)
theShape.Name = tableName
Set theReportTable = theShape.Table
With theReportTable
Debug.Print "Rows: " & .RowsCount
Debug.Print "Columns: " & .ColumnsCount
Debug.Print "Table contents:" & vbCrLf & .GetCellText(1, 1)
End With
End Sub
Na Figura 1, o objeto superior ReportTable no relatório de tabela de testes é criado pelo macro TestReportTable. Quando você cria a tabela primeiro, ele tem uma linha e uma coluna; os parâmetros NumRows e NumColumns do método AddTable não têm efeito. O número de linhas e colunas na tabela é atualizado quando você adiciona campos manualmente à tabela no painel de tarefas Lista de Campos ou quando você usa o método UpdateTableData . Você pode filtrar os campos para limitar o número de linhas. A macro TestReportTable grava o seguinte na janela imediata do VBE:
Rows: 1
Columns: 1
Table contents:
Use the Table Data taskpane to build a table
O objeto de ReportTable inferior na Figura 1 é a tabela de relatório padrão que o Project cria quando você escolher a tabela na guia DESIGN, em FERRAMENTAS de RELATÓRIO. Mostra o nome do projeto, data de início, data de término e porcentagem de conclusão da tarefa de resumo do projeto (ID da tarefa = 0).
Figura 1. O objeto ReportTable requer edição manual para adicionar campos e alterar a formatação
Para excluir um objeto ReportTable , use o método Shape.Delete , como na macro a seguir:
Sub DeleteTheReportTable()
Dim theReport As Report
Dim theShape As Shape
Dim reportName As String
Dim tableName As String
reportName = "Table Tests"
tableName = "Basic Project Data Table"
Set theReport = ActiveProject.Reports(reportName)
Set theShape = theReport.Shapes(tableName)
theShape.Delete
End Sub
Para excluir o relatório inteiro, mude para outro modo de exibição, como a macro a seguir:
Sub DeleteTheReport()
Dim i As Integer
Dim reportName As String
reportName = "Table Tests"
' To delete the active report, change to another view.
ViewApplyEx Name:="&Gantt Chart"
ActiveProject.Reports(reportName).Delete
End Sub
Métodos
Nome |
---|
GetCellText |
UpdateTableData |
Propriedades
Nome |
---|
ColumnsCount |
RowsCount |
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.