Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добавляет таблицу в отчет и возвращает объект Shape , представляющий таблицу.
Синтаксис
выражение.
AddTable(NumRows,NumColumns,Left,Top,Width,Height)
выражение: переменная, представляющая объект Shapes.
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| NumRows | Обязательный | Long | Количество строк в таблице. NumRows игнорируется при создании таблицы. |
| NumColumns | Обязательный | Long | Количество столбцов в таблице. NumColumns игнорируется при создании таблицы. |
| Left | Обязательный | Single | Левый край таблицы (в точках) относительно левой стороны области отчета. |
| Top | Обязательный | Single | Верхний край таблицы (в точках) относительно верхней части области отчета. |
| Width | Обязательный | Single | Ширина таблицы в точках. |
| Height | Обязательный | Single | Высота стола в пунктах. |
| NumRows | Обязательный | INT | |
| NumColumns | Обязательный | INT | |
| Left | Обязательный | FLOAT | |
| Top | Обязательный | FLOAT | |
| Width | Обязательный | FLOAT | |
| Height | Обязательный | FLOAT | |
| Имя | Обязательный или необязательный | Тип данных | Описание |
Возвращаемое значение
Shape
Примечания
Project игнорирует NumRows и NumColumns , когда метод AddTable создает таблицу. При создании таблица имеет одну строку и один столбец, содержащий текст Используйте область задач Table Data для создания таблицы (см. рис. 1). При выборе таблицы в Project отображается область задач " Список полей", в которой по умолчанию выбрано значение "ЗАДАЧИ ". С помощью области задач "Список полей " можно вручную добавить поля в отчет.
Рис. 1. Метод AddTable создает таблицу с одной строкой и одним столбцом
Пример
Макрос TestReportTable создает таблицу, показанную на рисунке 1, а затем выбирает таблицу для отображения панели задач Table Data .
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
Чтобы указать поля для таблицы, используйте метод UpdateTableData . Добавьте следующий код после строки Set theReportTable = tableShape.Table в предыдущем макросе.
Параметр OutlineLevel указывает задачи уровня 1 и отфильтровывает суммарную задачу проекта.
' 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
Запустите модифицированный макрос TestReportTable в проекте, содержащем четыре задачи с различными значениями процента завершения и затрат ресурсов. На рисунке 2 приведен пример результатов таблицы.
Рис. 2. Метод UpdateTableData может добавлять поля в таблицу
См. также
Shapes ObjectShape ObjectApplication.Table Method
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.