ReportTable.GetCellText メソッド (Project)
ReportTable オブジェクト内の指定したセルのテキスト値を返します。
構文
expression。
GetCellText
(Row,Col)
表現 'ReportTable' オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
行 | 必須 | Long | テーブル内の行番号。 |
Col | 必須 | Long | テーブル内の列番号。 |
行 | 必須 | INT | |
Col | 必須 | INT |
戻り値
String
指定したテーブル セルのテキスト値。
解説
返される文字列は、改行文字 ( で終わります。 chr(10)
これは vbCrLf 文字と同じです)。
例
GetTableText の例では、アクティブなレポートのすべてのテーブルを検索し、テーブル内の各セルの値を取得し、各値の最後の文字 (改行文字) を削除してから、テーブル セルの値を VBE のイミディエイト ウィンドウに出力します。 GetTableText マクロを使用するには、Chart Object トピックで指定されている例などの値を含むプロジェクトを作成し、次の手順を実行します (図 1 を参照)。
レポートを手動で作成します。 たとえば、リボンの [ プロジェクト ] タブの [ レポート ] ドロップダウン リストで、[ その他のレポート] を選択します。 [ レポート ] ダイアログ ボックスで、左側のウィンドウで [ 新規 ] を選択し、右側のウィンドウで [空白 ] を選択し、[選択] を 選択します。 [ レポート名 ] ダイアログ ボックスに「Report 1」と入力します。
レポートに 2 つのテーブルを追加します。 リボンの [デザイン] タブの [レポート ツール] で、[挿入] グループの [テーブル] コマンドを使用します。
プロジェクト概要タスクの [名前]、[ 開始]、[ 完了]、および [ 完了率 ] の各フィールドを含む、最初のテーブルの既定値をそのまま使用します。 最初のテーブルを選択して [フィールド 一覧 ] 作業ウィンドウを表示し、[ 実績コスト ] と [ 残りのコスト] を選択します。
2 番目のテーブルを選択します。 [フィールド 一覧] 作業ウィンドウで、[フィルター] を [すべてのタスク] に変更し、[実績コスト] と [残りのコスト] を選択します。 テーブルで、 Start 列と Finish 列を選択して削除します。
リボンの [挿入] グループの [テキスト ボックス] コントロールを使用して、2 つのテキスト ボックスをレポートに追加します。 たとえば、最初のテキスト ボックスを編集して [プロジェクトの概要タスク] を表示し、2 番目のテキスト ボックスを編集してタスク情報を表示します。
図 1. サンプル レポートには、2 つのテーブルと 3 つのテキスト ボックスが含まれています
Sub GetTableText()
Dim theReport As Report
Dim shp As shape
Dim theReportTable As ReportTable
Dim reportName As String
Dim row As Integer, col As Integer, i As Integer
Dim output As String
reportName = "Report 1"
For i = 1 To ActiveProject.Reports(reportName).Shapes.Count
Set shp = ActiveProject.Reports(reportName).Shapes(i)
Debug.Print shp.Name & "; ID = " & shp.ID
Next i
For Each shp In ActiveProject.Reports(reportName).Shapes
If shp.HasTable Then
Debug.Print vbCrLf & "Table name: " & shp.Name
For row = 1 To shp.Table.RowsCount
output = vbTab
For col = 1 To shp.Table.ColumnsCount
output = output & shp.Table.GetCellText(row, col)
output = left(output, Len(output) - 1) & vbTab
Next col
Debug.Print output
Next row
End If
Next shp
End Sub
GetTableText マクロを実行すると、VBE のイミディエイト ウィンドウに次のテキストが表示されます。 上の 5 行は、図形オブジェクトの既定の名前付け方法と ID 値の作成方法を示しています。
TextBox 1; ID = 2
Table 2; ID = 3
Table 3; ID = 4
TextBox 4; ID = 5
TextBox 5; ID = 6
Table name: Table 2
Name Start Finish % Complete Actual Cost Remaining Cost
TestShapes Mon 5/14/12 Tue 5/31/12 58% $1,595.00 $2,125.00
Table name: Table 3
Name % Complete Actual Cost Remaining Cost
T1 100% $0.00 $0.00
T2 71% $1,280.00 $640.00
T3 44% $315.00 $765.00
T4 0% $0.00 $720.00
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。