pgbigorokuのブログ

プログラムの再利用できそうなコードをアップ

EXCEL VBA クラス 無料ツールで複数のPDFファイルを1つのPDFファイルにまとめる。

サンプルコード

Public Sub sample()
    Dim cPDFcombination As New clsPDFcombination
    cPDFcombination.PDF結合ツールフルパス = "C:\Program Files\poppler-0.68.0\bin\pdfunite.exe"
    cPDFcombination.結合するPDFファイル名.Add "1.pdf"
    cPDFcombination.結合するPDFファイル名.Add "2.pdf"
    cPDFcombination.結合するPDFファイル名.Add "3.pdf"
    cPDFcombination.結合後のPDFファイル名 = "out.pdf"
    cPDFcombination.結合するPDFが入ったフォルダ名 = "C:\Users\sss\Documents\よく使う\プロジェクト\03_はてなブログ\作成環境"
    Call cPDFcombination.PDFファイルを結合する
End Sub

サンプル エクセルマクロファイルです。
複数のPDFファイルを1つのPDFファイルにまとめる.zip - Google ドライブ

ソースコード

'オブジェクト名は「clsPDFcombination」にしてください。
'
'   クラス機能   :  複数のPDFファイルを1つのPDFファイルにまとめる。
'
'
'準備
' コマンドラインでPDFファイルを結合する(Windows)
' https://pgbigoroku.hatenablog.com/entry/2022/08/17/003518
' の手順①~③で「pfdunite.exe」を準備する。
'
'プロパティ
'   -
'関数
'
'必要関数URL https://pgbigoroku.hatenablog.com/entry/2022/08/18/001621
'必要関数クラス https://pgbigoroku.hatenablog.com/entry/2022/08/17/222859
'URL
'2022/8/17

Option Explicit

Public PDF結合ツールフルパス As String      '準備で用意した「pfdunite.exe」のフルパス
Public 結合するPDFファイル名 As New clsLstTxt
Public 結合するPDFが入ったフォルダ名 As String
Public 結合後のPDFファイル名 As String

'
'   機能   :  PDFファイルを結合する
'
'    返り値  :     TRUE   現在の所固定
'
'    引き数  :
'
'
'    機能説明 :
'
'
'    備考   :     -
'
'    この関数のURL  :
'
'    この関数を利用するために必要なクラス:
'
'    バージョン  :2022/8/16
Public Function PDFファイルを結合する() As Boolean
    Dim cShell As New clsShell
    Dim str実行するファイル As String
    Dim str実行するオプション As String
    Dim str実行するフォルダ As String
    Dim str終了後に表示するメッセージ As String
    str実行するファイル = PDF結合ツールフルパス
    str実行するオプション = 結合するPDFファイル名.結合(" ") & " " & 結合後のPDFファイル名
    str実行するフォルダ = 結合するPDFが入ったフォルダ名
    str終了後に表示するメッセージ = "結合が終了しました。"
    Call cShell.ShellX(str実行するファイル, str実行するオプション, str実行するフォルダ, str終了後に表示するメッセージ)
End Function