Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでWord文書のページ数を取得する

Excel VBAでWord文書のページ数を取得する

動作検証バージョン: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

開かれている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文書のページ数を取得する

「Office連携」の記事一覧

検索


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

.