Home » ワードマクロ・Word VBAの使い方 » ブックマーク » Word VBAの「\EndOfDoc」とは

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

「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」で文書末尾を選択するサンプル

以下のコードを実行すると、アクティブ文書の末尾にカーソルが移動します。

Sub 文書の末尾を選択する()
 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」とは

「ブックマーク」の記事一覧

検索


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

.