「word 表の中の表の値を取得 マクロ」
という検索キーワードでアクセスがありました。
表の中の表のデータを取得するサンプルマクロ
以下のSubプロシージャが参考になるでしょうか。
Dim tbl As Table
For Each tbl In ActiveDocument.Tables(1).Tables
Dim cel As Cell
For Each cel In tbl.Range.Cells
Dim txt As String
txt = cel.Range.Text
Debug.Print Left(txt, Len(txt) - 2)
Next cel
End Sub
アクティブ文書の、1つ目の表の中に表を作成しておいてから、上記のSubプロシージャを実行してみてください。
表の中の表の全データが、イミディエイトウィンドウに出力されます。
ただし、表の中の表の中に、更に表があるような場合には対応していません。
表の中の表を取得する処理
Word VBAでは、表の中の表を表すTablesコレクションは、TableオブジェクトのTablesプロパティで取得できます。
上記のSubプロシージャでは、アクティブ文書内の1つ目の表の中の表を、外側のFor Each~Next文で順番に取得し、
Dim tbl As Table
For Each tbl In ActiveDocument.Tables(1).Tables
内側のFor Each~Next文で、表の中の表の各セルを順番に取得しています。
Dim cel As Cell
For Each cel In tbl.Range.Cells
表内の各セルのデータをFor Each~Next文で取得する処理は、既にご紹介しているのと同じです。
最終更新日時:2021-07-16 16:01
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の中の表のデータを取得する