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 bkm

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)
取得しています。

[スポンサードリンク]

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

TrackBack:1

TrackBack URL
すべてのブックマークを削除するWordマクロ from インストラクターのネタ帳
アクティブな文書ですべてのブックマークを一気に削除するWord(ワード)マクロをご紹介しています。
[スポンサードリンク]

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

「ワードマクロ・Word VBAの使い方」の記事一覧

検索


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

.