「endofdoc マクロ」
「ワード vba \EndOfDoc」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。
誰かが書いた、
Documents(1).Bookmarks("\EndOfDoc")
ActiveDocument.Bookmarks.Item("\EndOfDoc")
といったWord VBAのコードを、どこかでご覧になった方による検索でしょう。
拙著『Excel VBAユーザーのためのWord VBA入門(1)』の、「8-1. アクティブページを表すRangeを取得する」でも解説しているとおり、Microsoftが最初から用意している定義済みのブックマークがWordには複数存在しています。その一つが「\EndOfDoc」です。
定義済みブックマーク「\EndOfDoc」を利用すると、文書の末尾を簡単に取得できます。
定義済みブックマーク「\EndOfDoc」で文書末尾を選択するサンプル
以下のコードを実行すると、アクティブ文書の末尾にカーソルが移動します。
ActiveDocument.Bookmarks.Item("\EndOfDoc").Select
End Sub
BookmarksコレクションのItemメソッドの引数に、
文字列「\EndOfDoc」を指定すると、文書末尾のブックマークを表すBookmarkオブジェクトを取得できます。
Bookmarkオブジェクトに用意されているSelectメソッドを実行しているのが、
上記のコード
ActiveDocument.Bookmarks.Item("\EndOfDoc").Select
です。
「EndOfDoc」「¥EndOfDoc」では実行時エラーに
定義済みブックマークは、間違えずに指定するしかありません。
例えば、先頭の「\」を入力しわすれた、
ActiveDocument.Bookmarks.Item("EndOfDoc").Select
あるいは、全角で入力してしまった、
ActiveDocument.Bookmarks.Item("¥EndOfDoc").Select
などでは、いずれも
「実行時エラー'5941': 指定されたコレクションのメンバーは存在しません。」
となります。
定義済みブックマークはWordでも使える
拙著のコラムで触れているとおり、Wordでも定義済みブックマークは使えます。
Wordの[検索と置換]ダイアログ-[ジャンプ]タブ-[移動先]で「ブックマーク」を選択し、[ブックマーク名]欄に「\EndOfDoc」と入力後
[ジャンプ]ボタンを押せば、アクティブなWord文書の末尾にカーソルが移動します。
最終更新日時:2022-01-05 15:01
Home » ワードマクロ・Word VBAの使い方 » ブックマーク » Word VBAの「\EndOfDoc」とは