Home » ワードマクロ・Word VBAの使い方 » ブックマーク » Word VBAでアクティブページのParagraphsを取得する

Word VBAでアクティブページのParagraphsを取得する

対象:Word2007, Word2010, Word2013

「word vba ページのparagraphs取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

いずれかのページのParagraphsコレクションオブジェクトを取得する、Word VBA(Visual Basic for Applications)のコードを探していた方による検索です。

参考になりそうな、マクロを二つご紹介しておきましょう。

アクティブページの段落数を取得するサンプルマクロ

一つ目はアクティブなページの段落数をメッセージボックスに表示するマクロです。

Sub アクティブページの段落数を取得する()

 MsgBox _
  ActiveDocument.Bookmarks("\Page").Range.Paragraphs.Count

End Sub

「word vba ページのparagraphs取得」
という検索をした方には、
  ActiveDocument.Bookmarks("\Page").Range.Paragraphs
の部分が参考になるはずです。

Paragraphsコレクションオブジェクトを取得するParagraphsプロパティは、下図のとおり、いくつかのオブジェクトに存在していますが、そのうちRangeオブジェクトのParagraphsプロパティを利用した例です。

アクティブページのParagraphsを取得するWordマクロ

Paragraphsコレクションオブジェクトを取得して、どうしたかったのかがわかりませんので、上記のマクロではParagraphsコレクションオブジェクトのCountプロパティを使って段落数をメッセージボックスに表示しています。

アクティブなページを取得するのに、DocumentオブジェクトのBookmarksプロパティの引数に「\Page」を指定した、
  ActiveDocument.Bookmarks("\Page")
というオブジェクト式を利用しています。

アクティブページの段落内の文字列を順番に取得するサンプルマクロ

二つ目はアクティブなページ内の段落ごとの文字列を順番にメッセージボックスに表示するマクロです。

Sub アクティブページから段落ごとの文字列を取得する()

 Dim par As Paragraph

 For Each par In _
 ActiveDocument.Bookmarks("\Page").Range.Paragraphs
  MsgBox par.Range.Text
 Next par

End Sub

Paragraphsコレクションオブジェクトを取得したあと、そのコレクションに含まれる単一オブジェクトを操作するということも多いはずです。

その参考になるように作ったマクロです。

先の段落数を表示するマクロと同じように、RangeオブジェクトのParagraphsプロパティを使ってParagraphsコレクションオブジェクトを取得して、そのコレクションにループを回して、
 For Each par In _
 ActiveDocument.Bookmarks("\Page").Range.Paragraphs

段落ごとの文字列をメッセージボックスに表示しています。
  MsgBox par.Range.Text

最終更新日時:2022-01-05 15:29

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ブックマーク » Word VBAでアクティブページのParagraphsを取得する

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

検索


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

.