Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Представляет фигуру в виде таблицы в отчете Project.
Примечания
Примечание.
Запись макросов для объекта ReportTable не реализована. То есть, при записи макроса в Project и ручном добавлении таблицы отчета или редактировании ее элементов действия по добавлению таблицы отчета и работе с ней не записываются.
Объект ReportTable является разновидностью объекта Shape ; он не связан с объектом Table . Project имеет ограниченную поддержку VBA для таблиц отчетов; для задания полей таблицы вручную используется область задач Список полей (рис. 1). Чтобы отобразить или скрыть область задач " Список полей ", выберите на ленте команду " Табличные данные " на вкладке "Конструктор " раздела "Работа с таблицами ". Задать свойства макета или конструктора таблицы можно с помощью вкладок "Конструктор " и " Макет " на ленте.
Вы можете обновить запрос данных, связанный с таблицей отчета, с помощью метода UpdateTableData . Чтобы получить текст в ячейке таблицы, используйте метод GetCellText .
Чтобы программно создать таблицу отчетов, используйте метод Shapes.AddTable . Чтобы возвратить объект ReportTable , используйте Shapes(Index).Table, где Index — это имя или номер индекса фигуры.
Пример
Макрос TestReportTable создает отчет с именем "Тесты таблиц", а затем — объект 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
На рисунке 1 верхний объект ReportTable в отчете Table Tests создается макросом TestReportTable . При первом создании таблица содержит одну строку и один столбец; параметры NumRows и NumColumns метода AddTable не действуют. Количество строк и столбцов в таблице обновляется при ручном добавлении полей из области задач "Список полей " или при использовании метода UpdateTableData . Вы можете отфильтровать поля, чтобы ограничить количество строк. Макрос TestReportTable записывает следующее в окно интерпретации VBE:
Rows: 1
Columns: 1
Table contents:
Use the Table Data taskpane to build a table
Нижний объект ReportTable на рисунке 1 — это таблица отчета по умолчанию, создаваемая Project при выборе Table на вкладке DESIGN в REPORT TOOLS. В нем отображается название проекта, дата начала, дата окончания и процент завершения суммарной задачи проекта (ИД задачи = 0).
Рис. 1. Объект ReportTable требует ручного редактирования для добавления полей и изменения форматирования
Чтобы удалить объект ReportTable , используйте метод Shape.Delete , как в следующем макросе:
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
Чтобы удалить весь отчет, переключитесь на другое представление, как в следующем макросе:
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
Методы
| Имя |
|---|
| GetCellText |
| UpdateTableData |
Свойства
| Имя |
|---|
| ColumnsCount |
| RowsCount |
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.