「word vba ページのparagraphs取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
いずれかのページのParagraphsコレクションオブジェクトを取得する、Word VBA(Visual Basic for Applications)のコードを探していた方による検索です。
参考になりそうな、マクロを二つご紹介しておきましょう。
アクティブページの段落数を取得するサンプルマクロ
一つ目はアクティブなページの段落数をメッセージボックスに表示するマクロです。
MsgBox _
ActiveDocument.Bookmarks("\Page").Range.Paragraphs.Count
「word vba ページのparagraphs取得」
という検索をした方には、
ActiveDocument.Bookmarks("\Page").Range.Paragraphs
の部分が参考になるはずです。
Paragraphsコレクションオブジェクトを取得するParagraphsプロパティは、下図のとおり、いくつかのオブジェクトに存在していますが、そのうちRangeオブジェクトのParagraphsプロパティを利用した例です。
Paragraphsコレクションオブジェクトを取得して、どうしたかったのかがわかりませんので、上記のマクロではParagraphsコレクションオブジェクトのCountプロパティを使って段落数をメッセージボックスに表示しています。
アクティブなページを取得するのに、DocumentオブジェクトのBookmarksプロパティの引数に「\Page」を指定した、
ActiveDocument.Bookmarks("\Page")
というオブジェクト式を利用しています。
アクティブページの段落内の文字列を順番に取得するサンプルマクロ
二つ目はアクティブなページ内の段落ごとの文字列を順番にメッセージボックスに表示するマクロです。
Dim par As Paragraph
For Each par In _
ActiveDocument.Bookmarks("\Page").Range.Paragraphs
MsgBox par.Range.Text
Next par
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を取得する