Home » ワードマクロ・Word VBAの使い方 » ブックマーク » ブックマークの位置を調べるWordマクロ

ブックマークの位置を調べるWordマクロ

対象:Word2007, Word2010, Word2013

ブックマークの位置を調べるWordマクロ

特にページ数の多い文書を作成・編集しているときに便利な[ブックマーク]という機能が、Wordには用意されています。

[挿入]タブ-[リンク]グループ-[ブックマーク]ボタンから、ブックマークを設定しておくと、

ブックマークの位置を調べるWordマクロ

[検索と置換]ダイアログ-[ジャンプ]タブなどから、

ブックマークの位置を調べるWordマクロ

簡単に文書内を移動することができるようになります。

このブックマーク機能について、
「word マクロ ブックマークのあるセクションを調べる」
という検索でアクセスがあることに気が付きました。

ブックマークの設定されている場所を調べるWordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

ブックマークの場所を取得するサンプルマクロ

「word マクロ ブックマークのあるセクションを調べる」
という検索キーワードでしたが、実務上はページ番号もわかるほうが良さそうに感じますので、アクティブ文書のブックマーク名・セクション番号・ページ番号をイミディエイトウィンドウに出力するマクロを作ってみました。

Sub ブックマークのある位置を取得する()
 Dim bkm As Bookmark
 For Each bkm In ActiveDocument.Bookmarks
  With bkm

   Debug.Print _
     .Name & vbTab & _
     .Range.Information(wdActiveEndSectionNumber) & vbTab & _
     .Range.Information(wdActiveEndPageNumber)

  End With
 Next
End Sub

サンプルマクロの解説

上記のマクロで利用しているオブジェクトモデルの階層関係は下図のとおりです。

ブックマークの位置を調べるWordマクロ

アクティブな文書に含まれる全ブックマークを表すBookmarksコレクションオブジェクトにFor Each~Nextループを回して、
  For Each bkm In ActiveDocument.Bookmarks

各ブックマークの、名前等を出力しています。
  With bkm
   Debug.Print _
     .Name & vbTab & _

セクション番号・ページ番号は、Bookmarkオブジェクトからは直接取得できないので、RangeオブジェクトのInformationプロパティを使って、
   .Range.Information(wdActiveEndSectionNumber) & vbTab & _
   .Range.Information(wdActiveEndPageNumber)
取得しています。

最終更新日時:2022-01-05 16:06

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ブックマーク » ブックマークの位置を調べるWordマクロ

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

検索


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

.