Shapes.AddTable メソッド (Project)
レポートにテーブルを追加し、テーブルを表す 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 オブジェクト図形オブジェクトApplication.Table メソッド
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。