「word vba ページ数を取得」
「ワード マクロ ページ番号 取得」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
総ページ数や、ページ番号を取得するWordマクロ・VBAのコードを探している方による検索です。
この検索キーワードだけでは、具体的にどうしたかったのかがわかりませんので、参考になりそうなシンプルなマクロをご紹介しておきます。
ページ数・ページ番号を取得するサンプルマクロ
以下のようなコードで、カーソルのある位置のページ番号と、文書の総ページ数を取得することができます。
Dim msg As String
With Selection
msg = "カーソルがあるのは「" & _
.Information(wdActiveEndPageNumber) & _
"」ページ目で、" & vbCrLf & "総ページ数は「" & _
.Information(wdNumberOfPagesInDocument) & _
"」です。"
End With
End Sub
例えば、3ページある文書で、1ページ目にカーソルがある状態で上記のマクロを実行すると、
カーソルがあるのは「1」ページ目で、
総ページ数は「3」です。
というメッセージが表示されます。
サンプルマクロの解説
SelectionオブジェクトのInformationプロパティを使って、ページ番号やページ数を取得しています。
Informationプロパティは、指定された引数によってさまざまな情報を返してきます。
上記のマクロのとおり、
定数・wdActiveEndPageNumberを指定すると
カーソルのある位置のページ番号を
定数・wdNumberOfPagesInDocumentを指定すると
総ページ数を
返します。
Informationプロパティに指定できる定数は一覧にしてご紹介しています。
総ページ数だけを取得する
なお、Informationプロパティは、オブジェクトブラウザで確認してみると、Selectionオブジェクトの他、Rangeオブジェクトも持っていることがわかります。
ですから、総ページ数だけを取得するなら
Sub ページ数を取得する()
MsgBox _
ActiveDocument.Range.Information(wdNumberOfPagesInDocument)
End Sub
というようなマクロでもOKです。
最終更新日時:2021-02-26 05:39
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAで総ページ数・ページ番号を取得する