「VBA PDF 分割」といったキーワード検索でのアクセスがありました。
マクロでPDFファイルを分割する方法を探している方だろうと思います。
以前、下記記事でPDFファイルを結合するマクロを紹介しましたが、今回は逆に、Acrobatを使ってPDFファイルを分割するマクロを紹介します。
Option Explicit Public Sub Sample() Dim jso As Object Dim i As Long Dim fp As String, fn As String Const PdfFilePath = "C:\Test\PDF\Test.pdf" 'フォルダパスとファイル名取得 With CreateObject("Scripting.FileSystemObject") fp = AddPathSeparator(.GetParentFolderName(PdfFilePath)) fn = .GetBaseName(PdfFilePath) End With With CreateObject("AcroExch.PDDoc") If .Open(PdfFilePath) = True Then Set jso = .GetJSObject For i = 0 To .GetNumPages() - 1 '元のPDFファイルと同じ場所にページ番号を付けて保存 CallByName jso, "extractPages", VbMethod, _ i, i, fp & fn & "(" & i + 1 & ").pdf" Next .Close End If End With End Sub Private Function AddPathSeparator(ByVal s As String) If Right(s, 1) <> ChrW(92) Then s = s & ChrW(92) AddPathSeparator = s End Function
Acrobat JavaScriptのDocオブジェクトにはページを分割するためのextractPagesメソッドが用意されており、そのメソッドをGetJSObject経由で呼び出すことで、VBAマクロからでも処理を実行することができるわけです。
この記事へのコメントはありません。