Метод Shapes. AddTable (Project)Shapes.AddTable method (Project)

Добавляет таблицу в отчет и возвращает объект Shape , представляющий таблицу.Adds a table to the report, and returns a Shape object that represents the table.

СинтаксисSyntax

выражение.expression. AddTable(Нумровс, нумколумнс, Left, Top, Width, Height)AddTable (NumRows, NumColumns, Left, Top, Width, Height)

выражение: переменная, представляющая объект Shapes.expression A variable that represents a Shapes object.

ПараметрыParameters

ИмяName Обязательный или необязательныйRequired/Optional Тип данныхData type ОписаниеDescription
NumRowsNumRows ОбязательныйRequired LongLong Количество строк в таблице.The number of rows in the table. Нумровс игнорируется при создании таблицы.NumRows is ignored when creating a table.
нумколумнсNumColumns ОбязательныйRequired LongLong Количество столбцов в таблице.The number of columns in the table. Нумколумнс игнорируется при создании таблицы.NumColumns is ignored when creating a table.
LeftLeft ОбязательнаRequired SingleSingle Левый край таблицы (в пунктах) относительно левого края области отчета.The left edge (in points) of the table, relative to the left side of the report pane.
TopTop ОбязательныйRequired SingleSingle Верхний край таблицы (в пунктах) относительно верхнего края области отчета.The top edge (in points) of the table, relative to the top of the report pane.
WidthWidth ОбязательнаRequired SingleSingle Ширина таблицы в пунктах.The width of the table, in points.
HeightHeight ОбязательнаRequired SingleSingle Высота таблицы в пунктах.The height of the table, in points.
NumRowsNumRows ОбязательнаRequired INTINT
нумколумнсNumColumns ОбязательнаRequired INTINT
LeftLeft ОбязательнаRequired FLOATFLOAT
TopTop ОбязательныйRequired FLOATFLOAT
WidthWidth ОбязательнаRequired FLOATFLOAT
HeightHeight ОбязательнаRequired FLOATFLOAT
ИмяName Обязательный или необязательныйRequired/Optional Тип данныхData type ОписаниеDescription

Возвращаемое значениеReturn value

ShapeShape

ПримечанияRemarks

Project игнорирует нумровс и нумколумнс , когда метод AddTable создает таблицу.Project ignores NumRows and NumColumns when the AddTable method creates a table. При создании таблицы она содержит одну строку и один столбец, который содержит текст. Используйте область задач "Таблица данных" для создания таблицы (см. рисунок 1).When a table is created, it has one row and one column, which contains the text Use the Table Data taskpane to build a table (see Figure 1). При выборе таблицы Project отображает область задач табличные данные с именем " список полей" с задачами , выбранными по умолчанию.When you select the table, Project shows the table data task pane named Field List, with TASKS selected by default. С помощью области задач список полей можно вручную добавлять поля в отчет.Using the Field List task pane, you can manually add fields to the report.

Рис. 1. Метод AddTable создает таблицу с одной строкой и одним столбцомFigure 1. The AddTable method creates a table with one row and one column

Использование метода AddTable

ПримерExample

Макрос тестрепорттабле создает таблицу, показанную на рисунке 1, а затем выбирает таблицу для отображения области задач " данные таблицы ".The TestReportTable macro creates the table shown in Figure 1, and then selects the table to display the Table Data task pane.

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 .To specify fields for the table, use the UpdateTableData method. Добавьте следующий код после Set theReportTable = tableShape.Table строки в предыдущем макросе.Add the following code after the Set theReportTable = tableShape.Table line in the previous macro. Параметр аутлинелевел указывает задачи первого уровня и отфильтровывает суммарную задачу проекта.The OutlineLevel parameter specifies level 1 tasks, and filters out the project summary task.

    ' 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

Выполните измененный макрос тестрепорттабле для проекта, который содержит четыре задачи с различными значениями процента завершения и затрат на ресурсы.Run the modified TestReportTable macro on a project that has four tasks with various values for percent complete and resource costs. На рисунке 2 показан пример результатов таблицы.Figure 2 is an example of the table results.

Рис. 2. Метод UpdateTableData может добавлять поля в таблицуFigure 2. The UpdateTableData method can add fields to a table

Обновление таблицы с помощью метода UpdateTableData

См. такжеSee also

Фигуры объекта Shape объектApplication. TableShapes Object Shape Object Application.Table Method

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.