複数のPDFを順番に結合する(0件・1件は処理しない)
フォルダーのPDFを名前順に結合します。2ファイル以上あるときだけ進み、0件・1件なら作成せずに理由を表示する例です。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- WindowsのPower Automate for desktopで手動実行する練習です。ローカルPDFを扱うため、クラウドサービスの接続設定は不要です。利用権は自分の契約で確認し、クラウドからの起動・無人実行には別の要件があることに注意します。
- 入力と出力は必ず別パスにします。結合先を入力PDFの1つと同じパスにすると、失敗や元ファイルの削除につながることがあります。入力フォルダーに出力を保存する設定へ変更しないでください。
- 元PDFのブックマークは結合後に引き継がれません。画像だけのPDFも結合できますが、文字認識は行いません。この練習はパスワードなしのPDFが対象です。保護されたPDFは利用許可と正しいパスワードが必要で、複数指定時は入力PDFと同じ順序にします。
- 件数条件はファイルの中身や読み取り権限までは確認しません。取得時のエラーはフォルダーの存在・権限を、結合時のエラーは破損・パスワード・取得後の移動や削除・出力先への書き込み権限を確認します。失敗したPDFを飛ばして続ける仕組みは含みません。 Elseは件数不足の分岐で、エラー処理ではありません。
1使うアクション
- アクション 1フォルダー内のファイルを取得*.pdfを名前の昇順でPdfFilesへ
- アクション 2If%PdfFiles.Count% が2以上か
- アクション 3PDF ファイルを統合はい:別フォルダーへ結合
- アクション 4メッセージを表示成功時:実際の保存先を表示
- アクション 5Elseいいえ:0件または1件
- アクション 6メッセージを表示件数不足を表示。新しいPDFは作成しない
- アクション 7EndIfの終わり。ここで練習フローは終了
図で見る処理のイメージ
概念図入力は表紙1ページ+本文2ページの2ファイル。件数を確認してから結合します。
名前順に取得
01_表紙.pdf → 02_本文.pdf
2件以上か
はい:結合へ/いいえ:件数不足を表示
別のPDFへ結合
成功時のMergedPDFで保存先を確認
2件なら表紙→本文の3ページを期待します。0件・1件では、この実行による新しいPDFは作らず、既存の出力も変更しません。
| 入力の状態 | 件数と分岐 | 今回の新しい出力 |
|---|---|---|
| PDFなし | 0件 → Else | 作成しない |
| 本文2ページだけ | 1件 → Else | 作成しない(ページ数は無関係) |
| 表紙1ページ+本文2ページ | 2件 → If | 表紙→本文の合計3ページ |
| 同じ2件で再実行 | 2件 → If | 連番付きの別PDF。既存PDFは保持 |
架空の練習データで示した期待値です。実際のPower Automateフローを実行して確認した結果ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
準備:自分で読み書きできる C:\Work\PDFInput と C:\Work\Output を作成します。入力に練習用の 01_表紙.pdf(1ページ)、02_本文.pdf(2ページ)だけを置きます。パスワードなしのコピーを使い、最初のOutputは空にします。元の業務文書では試しません。
- 2
「フォルダー内のファイルを取得」:フォルダー=C:\Work\PDFInput、ファイルフィルター=*.pdf、サブフォルダーを含める=オフ。詳細の並べ替え=名前、降順=オフにして、生成された変数の名前をPdfFilesにします。出力リストの初期化は不要です。
- 3
直後に「If」を置きます。最初のオペランド=%PdfFiles.Count%、演算子=以上(>=)、2番目のオペランド=数値の2です。CountはPDFの本数で、ページ数ではありません。2ページのPDFが1個だけなら1件です。
- 4
Ifの内側に「PDF ファイルを統合」を置きます。PDFファイル=%PdfFiles%、結合されたPDFの保存先=C:\Work\Output\merged.pdf、ファイルが存在する場合=連番の接尾辞を追加する。パスワードは空欄、生成された変数はMergedPDFにします。For eachは不要で、リスト全体を1回で渡します。
- 5
結合の直後、同じIf側に「メッセージを表示」を置き、本文=保存先:%MergedPDF.FullName% とします。FullNameは実際の保存先のフルパスです。連番が付いた場合も、固定のmerged.pdfではなく表示されたファイルを開きます。 この練習では結合失敗時に停止する既定のエラー処理を使います。メッセージはOKを押すまで待ちます。
- 6
同じIfに「Else」を追加し、その内側へ別の「メッセージを表示」を置きます。本文=PDFは%PdfFiles.Count%件です。2件以上必要なため、この実行では新しいPDFを作成しません。 とします。Else側ではMergedPDFを参照しません。Endの後にはアクションを置かず、この練習は終了です。
- 7
確認A(2件):最初は取得アクションの直後で一時停止し、PdfFilesの順番が01_表紙.pdf→02_本文.pdfか確認して続行します。成功後に表示されたPDFを開き、1ページ目が表紙、2〜3ページ目が本文で、合計3ページかを確認します。入力2ファイルも残っていることを確認します。
- 8
確認B(0件・1件):練習用コピーを入力フォルダーの外へ一時的に移し、0件、次に1件で別々に実行します。Else側のメッセージが表示され、Outputに新しいPDFが増えないことを確認します。既存の出力PDFはそのまま残ります。
- 9
確認C(再実行):入力を2件に戻してもう一度実行します。Outputの既存PDFを上書きせず、連番付きの別PDFが作られる想定です。毎回%MergedPDF.FullName%で今回の保存先を確認します。Outputを入力の外に置くため、前回の結合PDFが再び入力に混ざりません。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月12日