【Word マクロ】表の中を自動で編集しよう!

スポンサーリンク

【Word マクロ】表の中を自動で編集しよう!

Wordで表の中のテキストを編集する場合のマクロをご紹介します。
Wordのマクロは、Excelのマクロに比べて参考となるものが少なくて、
中々Webで探すのも大変かと思います。
少しでも参考になればと思い、サンプルコードとともに解説していきます。

表の指定は、「ActiveDocument.Tables」で

Wordのマクロで「ActiveDocument.Tables」を使うと
ページに存在する表(テーブル)を指定することができます。
「ActiveDocument.Tables([番号])」で何番目の表であるかを指定します。
もし、表が1つの場合は、「ActiveDocument.Tables(1)」となります。
表が複数ある場合は、添え字の数値を変えたり、変数を用いて任意の表を指定できます。

表中の場所(番地)は「.Cell([行番号], [列番号]).Range」で

「ActiveDocument.Tables([番号])」で表を指定したら、次に場所(番地)を指定しましょう。
場所の指定は、「.Cell([行番号], [列番号]).Range」を使います。
Excelのセルを指定するような感じです。

「ActiveDocument.Tables([番号])」と組み合わせて使うと、
「ActiveDocument.Tables([番号]).Cell([行番号], [列番号]).Range」になります。
こちらも添え字の数値を指定したり、変数を用いて任意の場所を指定できます。

編集する場所を指定できたら、あとは操作を指定しよう!

上記で編集する場所は指定できます。あとは操作を指定するだけです。
セル内の文字列(テキスト)を削除したい場合は「Delete」、
変更したい場合は「Text」だったり、追記したい場合は「.InsertAfter」を使います。

具体的なサンプルコードを次に記載しておきます。

サンプルコード

■指定のセル内容を削除する場合
ActiveDocument.Tables(1).Cell(i, j).Range.Delete

■指定のセルにテキストを挿入する場合
ActiveDocument.Tables(1).Cell(i, j).Range.Text = “テスト”

まとめ

  • 表の指定は、「ActiveDocument.Tables」
  • 場所の指定は、「.Cell([行番号], [列番号]).Range」
  • 操作を「Delete」、「Text」「InsertAfter」で指定する

いかがでしたでしょうか?
ExcelのようにWordでも表の操作がマクロで実行でき、仕様によっては自動化できます。
ルーチン作業のように同じようなことを繰り返すのであれば
ぜひとも一度はマクロでの実行を検討することをおススメします。

以上、「【Word マクロ】表の中を自動で編集しよう!」でした。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする