動作検証バージョン:Windows 11 Home + 64bit Excel & Word バージョン 2504(ビルド18730.20142クイック実行)
「excel vba word ページ数 取得」
といった検索がこのサイトで行われていました。
Word文書のページ数を取得するExcel VBAのコードを調べていた方による検索です。
[スポンサードリンク]
Word文書のページ数を取得するサンプルマクロ
Wordファイルが1つ開かれている状態で以下のExcelマクロを実行してください。
Sub Word文書のページ数を取得する()
Const wdStatisticPages = 2
With GetObject(Class:="Word.Application")
MsgBox .ActiveDocument.ComputeStatistics(wdStatisticPages)
End With
End Sub
Const wdStatisticPages = 2
With GetObject(Class:="Word.Application")
MsgBox .ActiveDocument.ComputeStatistics(wdStatisticPages)
End With
End Sub
開かれているWord文書のページ数がメッセージボックスに表示されます。
サンプルマクロで行っている処理
Word VBAであれば、以下のコードでアクティブ文書のページ数がメッセージボックスに表示されます。
MsgBox ActiveDocument.ComputeStatistics(wdStatisticPages)
Documentオブジェクトに用意されているComputeStatisticsメソッドに、定数ComputeStatisticsを指定することで、ページ数を取得できます。
このコードをExcel VBAから実行するために、上記のサンプルマクロではコードが増えています。
定数wdStatisticPagesの定義
Wordを参照設定していないExcel VBAの環境では「wdStatisticPages」がコンパイルエラーになります。
そこで事前に
Const wdStatisticPages = 2
と定数を定義しています。
VBAのGetObject関数で起動済Word.Applicationへの参照を取得
VBAのGetObject関数の引数Classに文字列「Word.Application」を指定して、起動済みのWord.Applicationオブジェクトへの参照を取得しています。
With GetObject(Class:="Word.Application")
最終更新日時:2025-05-23 20:01
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでWord文書のページ数を取得する