Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表の行の先頭セルをWord VBAで取得する

表の行の先頭セルをWord VBAで取得する

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2205 ビルド15225.20204 Microsoft Store)

「word vba 表 行の最初のセル」
といった検索キーワードでアクセスがあることに気が付きました。

Word VBAで、表のいずれかの行の最初のセルを取得するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

表の行の先頭セルを取得するサンプルマクロ

表の存在するWord文書がアクティブな状態で、以下のWordマクロを実行すると、1つ目の表の1行目の最初のセルが選択され、そのセル内の文字列がメッセージボックスに表示されます。

Sub 表の1つ目の行の先頭セルを選択する()
 With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)
  .Select
  MsgBox Left(.Range.Text, Len(.Range.Text) - 2)
 End With
End Sub

サンプルマクロで行っている処理

拙著『Excel VBAユーザーのWord VBA入門(2)』でも解説しているプロパティ・メソッド等を使ったコードです。

ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)の意味

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

の部分は、Itemメソッドを省略して

With ActiveDocument.Tables(1).Rows(1).Cells(1)

と書いてもOKですが、一度はしっかりと読み解いておきましょう。

グローバルメンバーのActiveDocumentプロパティを使って、

アクティブなWord文書を表すDocumentオブジェクトを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

DocumentオブジェクトのTablesプロパティを使って、

アクティブな文書内のすべての表を表すTablesコレクションを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

TablesコレクションのItemメソッドを使って、

1つ目の表を表すTableオブジェクトを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

TableオブジェクトのRowsプロパティを使って、

1つ目の表のすべての行を表すRowsコレクションを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

RowsコレクションのItemメソッドを使って、

1つ目の表の1行目を表すRowオブジェクトを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

RowオブジェクトのCellsプロパティを使って、

1つ目の表の1行目のすべてのセルを表すCellsコレクションを取得し、

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

CellsコレクションのItemメソッドを使って、

1つ目の表の1行目の1つ目のセルを表すCellオブジェクトを取得しています。

With ActiveDocument.Tables.Item(1).Rows.Item(1).Cells.Item(1)

Left(.Range.Text, Len(.Range.Text) - 2)の意味

セル内文字列をメッセージボックスに表示している

MsgBox Left(.Range.Text, Len(.Range.Text) - 2)

の部分は、拙著の「10-3. セル内の文字列を取得する」でも解説しています。

セルを表すCellオブジェクトからRangeオブジェクトを取得し、末尾の2文字(セル内の段落記号とセル末尾を示す制御文字)を削除するために、VBAのLeft関数を使っています。

最終更新日時:2022-06-29 14:58

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表の行の先頭セルをWord VBAで取得する

「表・テーブル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.