【Word VBA】イテレーション(For Each)によるWord文章中のテーブル情報取得サンプル(表全体、列単位、行単位)

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

NSDNの参考情報 より

前々から、Wordのテーブル情報をイテレーション(For Each)で取得できないかと調べていたのだが、ようやくわかってきた。

ExcelでRangeをつかったイテレーション(For Each)イメージをWordで実現するには、Cellsオブジェクトがポイントになる。

以下がサンプル。実用的と思うのは、テーブル全体 もしくは 列単位 で情報が取得できれば、よいかな。

‘この例では、テーブル全体のすべての情報を取得する。
Sub テーブル情報の取得_全体()
   
    Dim t As Table
    Set t = Me.Tables(1)
    Dim c As Cell
    For Each c In t.Range.Cells
        Debug.Print c.Range.Text
    Next c
   
End Sub

‘この例では、テーブル全体にたいして行(例では2行目)の情報を取得する。
Sub テーブル情報の取得_行単位()
   
    Dim t As Table
    Set t = Me.Tables(1)
    Dim c As Cell
    For Each c In t.Columns(2).Cells
        Debug.Print c.Range.Text
    Next c
   
End Sub

‘この例では、テーブル全体にたいして行(例では3行目)の情報を取得する。
Sub テーブル情報の取得_列単位()
   
    Dim t As Table
    Set t = Me.Tables(1)
    Dim c As Cell
    For Each c In t.Rows(3).Cells
        Debug.Print c.Range.Text
    Next c
   
End Sub

文書情報

記事タイトル
【Word VBA】イテレーション(For Each)によるWord文章中のテーブル情報取得サンプル(表全体、列単位、行単位)
作成日
更新日
Source URL
https://papanda925.com/?p=506

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました