Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表を解除するWordマクロ

対象:Word2007, Word2010, Word2013

「word vba 表を解除する」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Wordでは、表の中にカーソルを置くと自動的に表示される[表ツール]の、[レイアウト]タブ-[データ]グループ-[表の解除]ボタンから、

表を解除するWordマクロ

表を解除することができます。

「word vba 表を解除する」
という検索キーワードは、この表の解除を行う、Word VBA(Visual Basic for Applications)のコードを探している方によるものでしょう。

参考になりそうなマクロをいくつかご紹介しておきます。

選択されている単独の表の解除を行うサンプルマクロ

以下のようなマクロで、区切り文字をタブにして、選択されている表の解除が行われます。

Sub 表を解除する_単独の表()
 Selection.Tables(1).ConvertToText _
  Separator:=wdSeparateByTabs
End Sub

表を解除する操作をマクロ記録してみると、
 Selection.Rows.ConvertToText _
  Separator:=wdSeparateByTabs, _
  NestedTables:=True
という、RowsコレクションオブジェクトのConvertToTextメソッドを使ったコードが作られます。

「ConvertToText」をオブジェクトブラウザーで検索してみると、

表を解除するWordマクロ

上図のとおり、TableオブジェクトにもConvertToTextメソッドが存在していることがわかったので、ここでは表が解除されることをわかりやすくするため、Rows.ConvertToTextではなく、
 Selection.Tables(1).ConvertToText _
  Separator:=wdSeparateByTabs
としました。

区切り文字をカンマにしたい場合は、引数・Separatorに定数・wdSeparateByCommasを指定すればOKです。

表を解除するWordマクロ

選択されている複数の表の解除を行うサンプルマクロ

以下のようなマクロにすれば、区切り文字をタブにして、選択範囲のすべての表の解除を行うこともできます。

Sub 表を解除する_選択範囲()
 Dim tbl As Table
 For Each tbl In Selection.Tables
  tbl.ConvertToText _
   Separator:=wdSeparateByTabs
 Next
End Sub

選択範囲のすべての表に対してループを回して、
 For Each tbl In Selection.Tables

先のマクロと同じくTableオブジェクトのConvertToTextメソッドで、各表の解除を行っています。
  tbl.ConvertToText _
   Separator:=wdSeparateByTabs

ループ処理を行う対象を決めている、
 For Each tbl In Selection.Tables
の部分を、
 For Each tbl In ActiveDocument.Tables
にすれば、アクティブな文書内のすべての表を解除することもできます。

最終更新日時:2021-09-03 20:59

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表を解除するWordマクロ

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

検索


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

.