Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表を削除するさまざまなWordマクロ

表を削除するさまざまなWordマクロ

対象:Word2007, Word2010, Word2013

「word vba 表 削除」
「word マクロ 表 削除」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスが時折あることに気づきました。

表を削除する、Wordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

さまざまなタイプの、表をまとめて削除するWordマクロをご紹介しましょう。

文書内の表をすべて削除するサンプルマクロ

今回の表の削除に限らず、すべての同じタイプのものに、同じ処理をするのが、マクロ・プログラミングの得意とするところです。

表を削除するマクロの場合、アクティブな文書内の表をすべて削除するのが一番簡単です。

Sub アクティブ文書内の表をすべて削除する()
 Dim tbl As Table
 For Each tbl In ActiveDocument.Tables
  tbl.Delete
 Next tbl
End Sub

アクティブな文書内の、すべての表に対してループを回して、
 For Each tbl In ActiveDocument.Tables

順番に表を削除するだけです。
  tbl.Delete

開いている文書の表をすべて削除するサンプルマクロ

開いているすべての文書から、すべての表を削除するなら、以下のようなマクロです。

Sub 開いている文書内の表をすべて削除する()
 Dim doc As Document
 For Each doc in Documents

  Dim tbl As Table
  For Each tbl In doc.Tables
   tbl.Delete
  Next tbl

 Next doc
End Sub

開いている全文書に対するFor Each~Nextループの中に、
 For Each doc in Documents

先ほどの全Tableに対するFor Each~Nextループが入っています。
  For Each tbl In doc.Tables

選択範囲内の表をまとめて削除するサンプルマクロ

実務では、全部の表ではなく、一部の表を、まとめて削除したいという要望も出ます。(「一部の」をどう判断するのかが、難しいところですが)

ここでは、選択範囲内の表をまとめて削除するマクロをご紹介しておきます。

Sub 選択範囲内の表を一括削除する()
 Dim tbl As Table
 For Each tbl In Selection.Tables
  tbl.Delete
 Next tbl
End Sub

先ほどはアクティブな文書内のすべての表にループを回しましたが、このマクロでは選択範囲内のすべての表にループを回して、
 For Each tbl In Selection.Tables

順番に削除していきます。
  tbl.Delete

現在のページ内の表をまとめて削除するサンプルマクロ

実務で出てきそうなのは、アクティブなページ内の表を、まとめて削除するという要望でしょうか。

以下のようなマクロにすると、アクティブなページ・現在のページ内の表をまとめて削除することができます。

Sub 現在のページ内の表を一括削除する()
 Dim tbl As Table
 For Each tbl In ActiveDocument.Bookmarks("\page").Range.Tables
  tbl.Delete
 Next tbl
End Sub

アクティブなページ内のすべての表に対してループを回して、
 For Each tbl In ActiveDocument.Bookmarks("\page").Range.Tables

順番に削除します。
  tbl.Delete

アクティブなページを取得するのに「ActiveDocument.Bookmarks("\page").Range」というコードを利用するのがポイントです。

最終更新日時:2022-07-27 11:43

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表を削除するさまざまなWordマクロ

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

検索


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

.