Office関連

Acrobatを利用してPDFファイルのページ数を取得するVBAマクロ

前回の記事ではPowerShell+iTextSharp、前々回の記事ではVBA+Adobe ReaderでPDFファイルのページ数を取得するコードを紹介しましたが、今回はAcrobatを利用してPDFファイルのページ数を取得するコードを紹介します。

Option Explicit

Public Sub Sample()
  Dim num As Long
  
  num = GetPDFPages("C:\Test\001.pdf")
  If num = 0& Then
    Debug.Print "Err."
  Else
    Debug.Print "ページ数:" & num
  End If
End Sub

Public Function GetPDFPages(ByVal PdfPath As String) As Long
  Dim ret As Long
  
  ret = 0& '初期化
  With CreateObject("AcroExch.AVDoc")
    If .Open(PdfPath, vbNullString) Then
      ret = CLng(.GetPDDoc.GetNumPages)
      .Close 1&
    End If
  End With
  GetPDFPages = ret
End Function

Acrobatが必要になりますが、非常に簡単なコードでページ数を取得することができます。
しかもPDF編集アプリケーションの本家本元であるAcrobatを利用しているため、信頼性も高く安心感があります。
個人的には、PDFファイル関連の処理をマクロで行う場合は、Acrobatを利用することをお薦めします。

■ 関連Webページ:

・Adobe Readerを利用してPDFファイルのページ数を取得するVBAマクロ
//www.ka-net.org/blog/?p=2314
・[PowerShell]iTextSharpを使ってPDFファイルのページ数を取得する
//www.ka-net.org/blog/?p=2317

[PowerShell]iTextSharpを使ってPDFファイルのページ数を取得する前のページ

各スライドに配置されたオートシェイプからテキストを取得するPowerPointマクロ次のページ

関連記事

  1. Office関連

    Chrome DevTools ProtocolでEdgeを操作するVBAマクロ

    Microsoft Edgeの操作を自動化する際はWebDriverを…

  2. Office関連

    「EXCEL VBA 業務自動化 仕事の効率を劇的に上げるノウハウ」レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2015年4…

  3. Office関連

    ヘッドレス ChromeとSeleniumBasicでWebページ全体のスクリーンショットを撮る方法…

    先日、ヘッドレス ChromeでWebページ全体のスクリーンショットを…

  4. Office関連

    名前空間を指定してXPathで要素を取得するVBAマクロ

    Tech Communityに、“XPathで名前空間プレフィックス付…

  5. Office関連

    [Excel Services ECMAScript]ActiveWorkbookのパスを取得する。…

    埋め込んだExcelワークブックのパスを取得するコードです。 (さ…

  6. Office関連

    Excelを別インスタンスで起動する方法

    「Excel 別インスタンス 起動」といったキーワード検索でのアクセス…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP