「word vba 表 削除」
「word マクロ 表 削除」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスが時折あることに気づきました。
表を削除する、Wordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
さまざまなタイプの、表をまとめて削除するWordマクロをご紹介しましょう。
文書内の表をすべて削除するサンプルマクロ
今回の表の削除に限らず、すべての同じタイプのものに、同じ処理をするのが、マクロ・プログラミングの得意とするところです。
表を削除するマクロの場合、アクティブな文書内の表をすべて削除するのが一番簡単です。
Dim tbl As Table
For Each tbl In ActiveDocument.Tables
tbl.Delete
Next tbl
End Sub
アクティブな文書内の、すべての表に対してループを回して、
For Each tbl In ActiveDocument.Tables
順番に表を削除するだけです。
tbl.Delete
開いている文書の表をすべて削除するサンプルマクロ
開いているすべての文書から、すべての表を削除するなら、以下のようなマクロです。
Dim doc As Document
For Each doc in Documents
Dim tbl As Table
For Each tbl In doc.Tables
tbl.Delete
Next tbl
End Sub
開いている全文書に対するFor Each~Nextループの中に、
For Each doc in Documents
先ほどの全Tableに対するFor Each~Nextループが入っています。
For Each tbl In doc.Tables
選択範囲内の表をまとめて削除するサンプルマクロ
実務では、全部の表ではなく、一部の表を、まとめて削除したいという要望も出ます。(「一部の」をどう判断するのかが、難しいところですが)
ここでは、選択範囲内の表をまとめて削除するマクロをご紹介しておきます。
Dim tbl As Table
For Each tbl In Selection.Tables
tbl.Delete
Next tbl
End Sub
先ほどはアクティブな文書内のすべての表にループを回しましたが、このマクロでは選択範囲内のすべての表にループを回して、
For Each tbl In Selection.Tables
順番に削除していきます。
tbl.Delete
現在のページ内の表をまとめて削除するサンプルマクロ
実務で出てきそうなのは、アクティブなページ内の表を、まとめて削除するという要望でしょうか。
以下のようなマクロにすると、アクティブなページ・現在のページ内の表をまとめて削除することができます。
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
- Newer:オブジェクトブラウザで何かと調べるようになった
- Older:Excel 2013・2010でマクロを有効にする
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表を削除するさまざまなWordマクロ