PDFファイルを結合する

会社のPCでAdobeのAcrobatとか、そこらに転がっているフリーソフトをインストールさせてもらえないが、Microsoft Power Automate はインストールOKな人向けに、PDFファイルを結合するプログラムを載せておきます。
地味に活用しています。私。なので、ここで公開。これで動いているから、OKとします。もっとスマートにプログラミングできないかと考えてしまいます。とても製品としてはクオリティ低すぎなので、無料公開です。でも、サポート頂けると助かります。

下のソースをそのままコピーして、Power Automateの編集画面にペースト。

【使い方】
➀結合したいPDFファイルを選んで「開く」
②まだ結合したいファイルがあるのであれば、➀へ。
③「キャンセル」を押して、結合したいファイル選択を終わらせる
④結合した後のPDFファイル名を決めて、「開く」
⑤おわり

# PDFファイルを結合する
Variables.CreateNewList List=> PdffileList
LOOP WHILE (ButtonPressed) <> ($'''Cancel''')
    Display.SelectFileDialog.SelectFile Title: $'''PDFを選択してください''' FileFilter: $'''*.pdf''' IsTopMost: True CheckIfFileExists: True SelectedFile=> SelectedFile ButtonPressed=> ButtonPressed
    IF ButtonPressed <> $'''Cancel''' THEN
        Variables.AddItemToList Item: SelectedFile List: PdffileList
    END
END
IF PdffileList.count = 0 THEN
    Display.ShowMessageDialog.ShowMessage Title: $'''キャンセルしました''' Message: $'''PDFファイル結合をキャンセルしました。''' Icon: Display.Icon.Information Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True ButtonPressed=> ButtonPressed
ELSE
    Display.SelectFileDialog.SelectFile Title: $'''新しいファイル名を選択してください''' FileFilter: $'''*.pdf''' IsTopMost: True CheckIfFileExists: False SelectedFile=> MergedPDF ButtonPressed=> ButtonPressed
    SWITCH ButtonPressed
        CASE = $'''Open'''
            Variables.ReverseList List: PdffileList
            Pdf.MergeFiles PDFFiles: PdffileList MergedPDFPath: MergedPDF IfFileExists: Pdf.IfFileExists.Overwrite PasswordDelimiter: $''',''' MergedPDF=> MergedPDF
            Text.Replace Text: $'''*個のPDFファイルを結合しました。''' TextToFind: $'''*''' IsRegEx: False IgnoreCase: False ReplaceWith: PdffileList.count ActivateEscapeSequences: False Result=> Replaced
            Display.ShowMessageDialog.ShowMessage Title: $'''完了''' Message: Replaced Icon: Display.Icon.Information Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True ButtonPressed=> ButtonPressed
        CASE = $'''Cancel'''
            Display.ShowMessageDialog.ShowMessage Title: $'''キャンセルしました''' Message: $'''PDFファイル結合をキャンセルしました。''' Icon: Display.Icon.Information Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True ButtonPressed=> ButtonPressed
    END
END

PowerAutomateのプロフェッショナルの方、教えて下さい。
なぜ、PDFの結合において、Listを逆にしないとファイルを指定した順序に結合できないのか・・・・


この記事が気に入ったらサポートをしてみませんか?