Home » ワードマクロ・Word VBAの使い方 » Selection » SelectRow・SelectColumnは表内でのみ有効

SelectRow・SelectColumnは表内でのみ有効

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2003 ビルド12624.20466 Microsoft Store)

行を選択するWord VBAのコードをご紹介しました。

オブジェクトブラウザーで「select」を検索するとわかるとおり、Word VBAにはSelectRowという、

いかにも行を選択できそうなメソッドが存在しています。

先日の記事で、このSelectRowメソッドを使わなかった理由を補足しておきます。

[スポンサードリンク]

Selection.SelectRowは表内でのみ有効

Selectionオブジェクトに用意されているSelectRowメソッドは、行を選択できそうな名前がつけられていますけれど、使えるのはSelectionオブジェクトが表内にあるときのみです。

Selection.SelectRowメソッドのヘルプに以下の記述があります(オブジェクトブラウザーは便利なツールですが、こういう細かい仕様はヘルプを読む必要があります)。
Remarks
If the selection isn't in a table, an error occurs.

そもそも「SelectRow」ではなく「SelectTableRow」といった名前にすべきだったのではないのかと私は感じます。。

Selection.SelectRowで表の1行目を選択するサンプル

Selection.SelectRowメソッドで、(表でない部分の行は選択できませんが)表の行は選択できます。
Sub 表の1行目を選択する()
 ActiveDocument.Tables(1).Cell(1, 1).Select
 Selection.SelectRow
End Sub

アクティブ文書内に表が存在するときに、上記のSubプロシージャを実行すると、1つ目の表の1行目を選択できます。

Selection.SelectColumnも表内で有効

SelectRowと似た、SelectColumnというメソッドもSelectionオブジェクトに存在します。

こちらもヘルプに「If the selection isn't in a table, an error occurs.」の記述があるとおり、表内にカーソルが存在するときのみ利用できるメソッドです。

最終更新日時:2020-04-22 14:05

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » SelectRow・SelectColumnは表内でのみ有効

「Selection」の記事一覧

検索


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

.