【VBA】Wordファイルのページ数を取得する

VBAから
 ・Wordファイルのページ数を取得
できます!

PR

VBAコード

ここでは例として、
 ・デスクトップ配下のファイル「サンプルword.docx」の
 ・ページ数を取得
します。

サンプルword.docxのページ数は3
サンプルword.docxのページ数は3
Option Explicit

Sub sample()
    
    Dim wordFilePath As String
    Dim objWord As Object
    Dim objDoc As Object
    Dim pageCount As Long
    
    'Wordファイルのパスを指定
    wordFilePath = "C:\Users\user\Desktop\サンプルword.docx"
    
    'Wordを起動
    Set objWord = CreateObject("Word.Application")
    'Wordを表示
    objWord.Visible = True
    
    'Wordファイルを開く(読み取り専用)
    Set objDoc = objWord.Documents.Open(ReadOnly:=True, Filename:=wordFilePath)
    
    'Wordファイルのページ数を取得
    pageCount = objDoc.Content.Information(4)
    
    'Wordファイルを閉じる
    objDoc.Close
    
    'Wordを終了
    objWord.Quit
    
    MsgBox ("Wordファイルのページ数は『" & pageCount & "』です!")
    
    '後片づけ
    Set objDoc = Nothing
    Set objWord = Nothing

End Sub

「CreateObject(“Word.Application”)」により、Wordが起動します(14行目)。
※「Word.Applicationオブジェクト」を取得します。

「Word.Application」オブジェクトの「Visible」プロパティに「True」を指定することで、Wordを表示します(16行目)。
※上記では「プログラムの流れを把握しやすくするため」に表示させています。必須ではありません。
※どのタイミングで「Wordファイルが開くのか/閉じるのか。Wordが終了するのか」等を把握しやすくするため。

「Word.Application」オブジェクトの「Documents」プロパティにより「Documents」オブジェクトを取得します(19行目)。

「Documents」オブジェクトの「Open」メソッドにより、Wordファイルを開きます(19行目)。
※「Document」オブジェクトを取得します。
※ページ数を取得(情報を取得。変更はしない)のため、上記では読み取り専用で開いています。

「Document」オブジェクトの「Content」プロパティにより、「Word.Range」オブジェクトを取得します(22行目)。

「Word.Range」オブジェクトの「Information」プロパティに「4」を指定することで、「ページ数」を取得します(22行目)。
※「4」以外を指定することで、「ページ数以外」も取得できます。

「Document」オブジェクトの「Close」メソッドにより、Wordファイルを閉じます(25行目)。

「Word.Applicationオブジェクト」の「Quit」メソッドにより、Wordを終了させます(28行目)。

PR

実行結果

Wordファイルのページ数を取得できました。

実行結果(Wordファイルのページ数は3)
実行結果(Wordファイルのページ数は3)
PR

参考①

PDFファイルのページ数も取得できます。

詳細は以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「Word.Application」オブジェクトの「Visible」プロパティ


●「Word.Application」オブジェクトの「Documents」プロパティ
※「Documents」オブジェクトを返します。


●「Documents」オブジェクトの「Open」メソッド
※「Document」オブジェクトを返します。


●「Document」オブジェクトの「Content」プロパティ


●「Word.Range」オブジェクトの「Information」プロパティ


●上記の「Information」プロパティに設定できる値(=取得できる情報)

※ページ数以外にも取得できます。


●「Document」オブジェクトの「Close」


●「Word.Applicationオブジェクト」の「Quit」メソッド