動作検証バージョン: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
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
[スポンサードリンク]
- Newer:Pythonのリストから末尾の要素を削除する
- Older:python-pptxでタイトルプレースホルダーを左揃えに
Home » ワードマクロ・Word VBAの使い方 » Selection » SelectRow・SelectColumnは表内でのみ有効