「word vba カーソル移動 ページの先頭」
「word vbaでページの先頭にカーソルを持ってくる」
といった検索で、時折アクセスがあります。
Word VBAを使ってページの先頭にカーソルを移動するには、どのようなコードを書けばいいのか調べていらしたのでしょう。
「word マクロ ページ 先頭」
という検索キーワードも同じかもしれません。
ページの先頭にカーソルを移動するサンプルマクロ
以下のWordマクロを実行すると、アクティブなページの先頭にカーソルが移動します。
ActiveDocument.Bookmarks("\Page").Range.Select
Selection.Collapse Direction:=wdCollapseStart
End Sub
サンプルマクロで行っている処理
「ActiveDocument.Bookmarks("\Page").Range」の部分は、拙著『Excel VBAユーザーのためのWord VBA入門(1)』の、「8-1. アクティブページを表すRangeを取得する」でも解説している、アクティブなページの文字列範囲を表すRangeオブジェクトを取得する、Word VBAの定番といえるコードです。
その「ActiveDocument.Bookmarks("\Page").Range」で取得した、RangeオブジェクトのSelectメソッドを使って、
ActiveDocument.Bookmarks("\Page").Range.Select
アクティブなページ全体を選択しています。
その後、拙著の「7-6. カーソル位置や選択範囲を変更するメソッド」でも解説している、SelectionオブジェクトのCollapseメソッドの引数Directionに
WrCollapseDirection列挙型に定義されている定数wdCollapseStartを指定することで、
Selection.Collapse Direction:=wdCollapseStart
選択を解除することで、カーソルを先頭に移動しています。
ステップ実行して挙動を確認しよう
VBE(Visual Basic Editor)のショートカットキー[F8]を使って、
ActiveDocument.Bookmarks("\Page").Range.Select
を実行すると、アクティブページ全体が選択され、
Selection.Collapse Direction:=wdCollapseStart
を実行すると、選択状態が解除されてカーソルがページの先頭に移動する様子を確認してください。
最終更新日時:2022-09-06 17:22
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでページの先頭にカーソルを移動する