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
 Dim tbl As Table

 For Each doc in Documents
  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」という記述を利用するのがポイントです。

[スポンサードリンク]

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

TrackBack:3

TrackBack URL
定義済みのブックマーク一覧 from インストラクターのネタ帳
Word(ワード)VBAのBookmarksプロパティの引数に指定できる、定義済みのブックマークを一覧にしています。
Word文書から表を削除するVBScript from インストラクターのネタ帳
ドラッグ&ドロップされたWord文書から、全ての表を削除するVBScriptをご紹介しています。
Shapeをすべて削除するWordマクロ from インストラクターのネタ帳
Word VBAではShapeの削除を、For Each~Nextループで行おうとしても上手くできませんが、For~Nextループを使えばできます。

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

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

検索


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

.