Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の中の表のデータを取得する

Word VBAで表の中の表のデータを取得する

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

「word 表の中の表の値を取得 マクロ」
という検索キーワードでアクセスがありました。

表の中の表のデータを取得するサンプルマクロ

以下のSubプロシージャが参考になるでしょうか。

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

 Next tbl
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で表の中の表のデータを取得する

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

検索


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

.