Shapes.AddTable-Methode (Project)

Fügt dem Bericht eine Tabelle hinzu und gibt ein Shape-Objekt zurück, das die Tabelle darstellt.

Syntax

Ausdruck. AddTable(NumRows,NumColumns,Left,Top,Width,Height)

expression Eine Variable, die ein Shapes-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
NumRows Erforderlich Long Die Anzahl der Zeilen in der Tabelle. NumRows wird beim Erstellen einer Tabelle ignoriert.
NumColumns Erforderlich Long Die Anzahl der Spalten in der Tabelle. NumColumns wird beim Erstellen einer Tabelle ignoriert.
Left Erforderlich Single Der linke Rand (in Punkt) der Tabelle relativ zur linken Seite des Berichtsbereichs.
Top Erforderlich Single Der obere Rand (in Punkt) der Tabelle relativ zum oberen Rand des Berichtsbereichs.
Width Erforderlich Single Die Breite der Tabelle in Punkt.
Height Erforderlich Single Die Höhe der Tabelle in Punkt.
NumRows Erforderlich INT
NumColumns Erforderlich INT
Left Erforderlich FLOAT
Top Erforderlich FLOAT
Width Erforderlich FLOAT
Height Erforderlich FLOAT
Name Erforderlich/Optional Datentyp Beschreibung

Rückgabewert

Form

HinwBemerkungeneise

Project ignoriert NumRows und NumColumns , wenn die AddTable-Methode eine Tabelle erstellt. Wenn eine Tabelle erstellt wird, enthält sie eine Zeile und eine Spalte, die den Text Use the Table Data taskpane to build a table enthält (siehe Abbildung 1). Wenn Sie die Tabelle auswählen, zeigt Project den Aufgabenbereich für Tabellendaten mit dem Namen Feldliste an, wobei standardmäßig TASKS ausgewählt ist. Mithilfe des Aufgabenbereichs Feldliste können Sie dem Bericht felder manuell hinzufügen.

Abbildung 1: Die AddTable-Methode erstellt eine Tabelle mit einer Zeile und einer Spalte.

Verwenden der AddTable-Methode

Beispiel

Das Makro TestReportTable erstellt die in Abbildung 1 gezeigte Tabelle und wählt dann die Tabelle aus, um den Aufgabenbereich Tabellendaten anzuzeigen.

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

Verwenden Sie die UpdateTableData-Methode , um Felder für die Tabelle anzugeben. Fügen Sie den folgenden Code nach der Set theReportTable = tableShape.Table Zeile im vorherigen Makro hinzu. Der Parameter OutlineLevel gibt Vorgänge der Ebene 1 an und filtert den Projektsammelvorgang heraus.

    ' 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

Führen Sie das geänderte TestReportTable-Makro für ein Projekt aus, das über vier Vorgänge mit verschiedenen Werten für den Prozentsatz abgeschlossener Und Ressourcenkosten verfügt. Abbildung 2 ist ein Beispiel für die Tabellenergebnisse.

Abbildung 2: Die UpdateTableData-Methode kann einer Tabelle Felder hinzufügen.

Aktualisieren einer Tabelle mit der UpdateTableData-Methode

Siehe auch

Shapes-ObjektShape-ObjektApplication.Table-Methode

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.