- 公開日:
VBAでPDFを結合するフリーソフト
VBAでPDFを結合するフリーソフトをご紹介します。
VBAを使用することでPDFの結合を自動化でき、ツールを毎回立ち上げる必要がなくなります。
仕事や学業などで頻繁に複数のPDFを結合している方は、VBAを活用して作業効率を高めましょう。
PDFtkの基本情報
PDFtk
日本語: ×
オンライン(インストール不要): ×
オフライン(インストール型): 〇
PDFtkを使ってVBAでPDFを結合する方法
PDFtkを使ってVBAでPDFを結合する方法をご紹介します。
PDFtkはアメリカ合衆国のPDF Labsが提供するPDF編集ソフトです。Windowsのほか、MacやLinuxで使用できます。
今回はWindows 11を使って、VBAでPDFを結合する方法をご紹介します。
Excelを起動します。
①開発タブ、②「Visual Basic」の順に選択します。
「Microsoft Visual Basic for Applications」が開きます。
まず、参照設定に「Windows Script Host Object Model」を追加します。
①ツールタブ、②「参照設定」の順に選択します。
「参照設定-VBAProject」ダイアログボックスが表示されます。
①画面を下にスクロールし、②「Windows Script Host Object Model」に✓を入れ、③「OK」ボタンを押します。
追加できました。これで、マクロが外部機能にアクセスできるようになります。
次に、VBAでPDFを結合します。
①挿入タブ、②「標準モジュール」の順に選択します。
標準モジュールが表示されます。
以下のVBAコードをコピーして貼り付けます。
Sub CombinePDFs()
Dim CommandString As String '実行するコマンドを格納
Dim SourceFolder As String 'PDFファイルがあるフォルダのパス
Dim CurrentFile As String '現在処理しているファイル名
Dim FullFilePath As String '現在処理しているファイルのフルパス
Dim OutputPDFPath As String '出力するPDFファイルのパス
Dim OutputFolder As String '出力PDFの保存先フォルダ
Dim ShellObj As Object 'シェルオブジェクト
Dim ExecutionResult As Object 'コマンド実行結果を格納
'PDFファイルが格納されているフォルダのパスを指定
SourceFolder = "C:\Users\ユーザー名\Desktop\結合する"
'出力ファイルのフォルダパスを指定
OutputFolder = "C:\Users\ユーザー名\Desktop\結合する"
'コマンド初期化
CommandString = ""
'フォルダ内のPDFファイルを列挙
CurrentFile = Dir(SourceFolder & "\*.pdf")
'フォルダ内のすべてのPDFに対して処理
Do While CurrentFile <> ""
'ファイルのフルパスを取得
FullFilePath = SourceFolder & "\" & CurrentFile
'コマンドにファイルを追加
CommandString = CommandString & " " & FullFilePath
'次のファイル名を取得
CurrentFile = Dir()
Loop
'結合後のPDFファイル名を設定(元のフォーマットに戻す)
OutputPDFPath = OutputFolder & "\" & "PDF結合ファイル_" & Format(Now, "yyyymmddhhmm") & ".pdf"
'pdftkを使用してPDFを結合
CommandString = "pdftk" & CommandString & " cat output " & OutputPDFPath
'コマンドを実行
Set ShellObj = CreateObject("WScript.Shell")
Set ExecutionResult = ShellObj.Exec("%ComSpec% /c " & CommandString)
'コマンドの実行完了を待機
Do While ExecutionResult.Status = 0
DoEvents
Loop
'オブジェクトの解放
Set ExecutionResult = Nothing
Set ShellObj = Nothing
End Sub
なお、「SourceFolder」「OutputFolder」には任意のフォルダパスを指定する必要があります。
作成したマクロを保存します。
①ファイルタブ、②「上書き保存」の順に選択します。
「名前を付けて保存」ダイアログボックスが表示されまます。
①任意の保存先(例:ダウンロード)を選択し、②ファイル名(例:結合)を入力します。
③ファイルの種類で「Excelマクロ有効ブック」を選択し、④「保存」ボタンを押します。
Excelシートに戻り、マクロを実行します。
①開発タブ、②「マクロ」の順に選択します。
「マクロ」ダイアログボックスが表示されます。
①作成したマクロ(例:CombinePDFs)を選択し、②「実行」ボタンを押します。
PDFが結合できました。
保存先として指定したフォルダを開き、結合したファイルをダブルクリックで開きます。
結合したPDFが開けば、正しく結合できています。