'■ エクセルVBAからの呼び出し例（PDF+PDF.exe）
'　　・実行ファイルはエクセルVBAのブックと同じフォルダに置いてください。
'　　・結合するPDFはブックと同じフォルダの直下のフォルダに入れてください。
'　　・結合されたPDFはブックと同じフォルダに出力されます。
'　　・ブックのSheet1のB1セルに入力用フォルダ名、B2セルに出力ファイル名を指定します。
'　　・マクロ"MergePDF"を実行するとPDFが結合されます。
'　　・このファイルは、ファイル名から".txt"を削除すればインポートできます。

Attribute VB_Name = "ModuleX"
Option Explicit

Sub MergePDF()
    Dim exitCode As Long
    Dim exePath As String, arg1 As String, arg2 As String
    Dim cmd As String

    ' 実行ファイルのパスをエクセルVBAのブックと同じに設定
    exePath = ThisWorkbook.Path & "\PDF+PDF.exe"

    ' Sheet1のB2セルより出力ファイル名を取得
    arg1 = ThisWorkbook.Path & "\" & Worksheets("Sheet1").Range("B2").Value

    ' Sheet1のB1セルより入力用フォルダ名を取得
    arg2 = ThisWorkbook.Path & "\" & Worksheets("Sheet1").Range("B1").Value

    ' パスにスペースがある可能性があるので、必ず "" で囲む
    cmd = """" & exePath & """" & " " _
        & """" & arg1 & """" & " " _
        & """" & arg2 & """"

    ' 実行と終了コードの取得
    exitCode = CreateObject("WScript.Shell").Run(cmd, 0, True)

    ' 実行結果の表示
    Select Case exitCode
    Case 5
        MsgBox "結合できませんでした"
    Case 4
        MsgBox "ファイルが足りません"
    Case 3
        MsgBox "フォルダがありません"
    Case 2
        MsgBox "出力名重複で中止"
    Case 1
        MsgBox "入力がありません"
    Case Else
        MsgBox "正常に結合しました"
    End Select
End Sub

