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

対象:Word2007, Word2010, Word2013

「word vba 表 選択」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。

Wordでマクロ記録を開始すると、ドラッグ操作では表を選択することはできなくなってします。そのため、表を選択するVBA(Visual Basic for Applications)のコードをどう書けばいいのか疑問に感じる方がいらっしゃるのは、とても納得できます。

ここでは表を選択するWordマクロを2つご紹介しておきます。

ただし、Word VBAで表を操作するときに、本当に選択しなければいけないのか、選択処理がそもそも必要なのか、Rangeオブジェクトを使った処理ではダメなのかについて、まずは、しっかりと考えてください。

カーソルの置かれている表を選択するサンプルマクロ

本当に表を選択するマクロが欲しいという状況を想像すると、カーソルの置かれている表を選択するという、操作性を向上するためのマクロのニーズはありそうです。

Sub カーソルのある表全体を選択する()
 With Selection.Tables
  If .Count = 0 Then Exit Sub
  .Item(1).Select
 End With
End Sub

以上のようなマクロで、カーソルが置かれている表全体を選択することができます。

本当は、
  Selection.Tables(1).Select
という1行だけでOKなのですが、この1行だけでは表の中にカーソルがない状態で実行されたときに、実行時エラーが発生してしまいます。この実行時エラーを回避するためにIf文を入れてあります。

コードの意味は以下のとおりです。

選択範囲・カーソル位置を表すSelectionオブジェクトの、Tablesコレクションオブジェクトを取得して、
  With Selection.Tables

表の数がゼロだったときにはマクロを終了しています。
   If .Count = 0 Then Exit Sub

表を選択するWordマクロ

カーソル位置に表が存在していたときには、Tablesコレクションオブジェクトの、Itemメソッドの引数に「1」を指定することで、1つ目のテーブルを表すTableオブジェクトを取得して、
  With Selection.Tables
   .Item(1).Select

表を選択するWordマクロ

TableオブジェクトのSelectメソッドで選択を行っています。

表を選択するWordマクロ

アクティブページの1つ目の表を選択するサンプルマクロ

もう一つ本当に表を選択するマクロが欲しいという状況を想像すると、アクティブなページの表を選択するマクロもニーズがありそうです。

Sub アクティブページの表を選択する()
 With ActiveDocument.Bookmarks("\Page").Range.Tables
  If .Count = 0 Then Exit Sub
  .Item(1).Select
 End With
End Sub

先のマクロどこが違うのかというと、
  With ActiveDocument.Bookmarks("\Page").Range.Tables
の部分です。先のマクロでは、
  With Selection.Tables
となっていた部分が変更になっています。

この部分の意味は以下のとおりです。

ActiveDocumentプロパティで、アクティブな文書を表すDocumentオブジェクトを取得して、

表を選択するWordマクロ

DocumentオブジェクトのBookmarksプロパティで、Bookmarksコレクションオブジェクトを取得して、

表を選択するWordマクロ

BookmarksコレクションオブジェクトのデフォルトメソッドであるItemメソッドの引数に「\Page」を指定することで、アクティブなページを表すBookmarkオブジェクトを取得して、

表を選択するWordマクロ

BookmarkオブジェクトのRangeプロパティで、ページ全体を表すRangeオブジェクトを取得して、

表を選択するWordマクロ

RangeオブジェクトのTablesプロパティで、アクティブなページ全体に存在するすべての表を表すTablesコレクションオブジェクトを取得しています。

表を選択するWordマクロ

このあとの、
  If .Count = 0 Then Exit Sub
  .Item(1).Select
については、先のマクロと同じです。

最終更新日時:2021-07-16 16:05

[スポンサードリンク]

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

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

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

検索


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

.