テーブルをレポートに追加し、テーブルを表す Shape オブジェクトを返します。
構文
expression。
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
注釈
AddTable メソッドがテーブルを作成するときに、Project では NumRows と NumColumns は無視されます。 テーブルが作成されると、テーブルには 1 行 1 列で構成され、テーブルには「 テーブル データを使用する」という テキストが含まれています (図 1 を参照)。 テーブルを選択すると、既定で [タスク] が選択されたフィールド リストという名前のテーブル データ作業ウィンドウが表示されます。 [ フィールド リスト ] 作業ウィンドウを使用すると、手動でレポートにフィールドを追加できます。
図 1. AddTable メソッドは、1 行と 1 列のテーブルを作成します
例
TestReportTable マクロは、図 1 に示すテーブルを作成してから、テーブルを選択して [テーブル データ] 作業ウィンドウを表示します。
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
達成率とリソース コストの値が異なる 4 つのタスクを含むプロジェクトで、変更した TestReportTable マクロを実行します。 図 2 は、テーブルの結果の例です。
図 2. UpdateTableData メソッドでは、テーブルにフィールドを追加できます
関連項目
Shapes ObjectShape ObjectApplication.Table メソッド
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。