前回までのおさらい
ここまでで、Power Automate Desktop(PAD)を使い、
- Excelから請求データを読み込み
- Excelテンプレートに差し込み
- 請求書(Excel)をPDFに変換して保存
というの請求書自動作成とPDF変換処理を構築してきました。
今回のゴール
今回は、すべての顧客分の請求書を一括処理できるようにします!
- Excelの全行を対象にループ処理を行う
- 顧客ごとにExcelテンプレートへ差し込み
- PDFに変換して保存
- 自動的に複数請求書がまとめて生成される
処理フローの全体像
Excel読み込み
↓
For each 行 in 請求データ
↓
テンプレート読み込み
↓
文字列置換(顧客名/請求番号/金額)
↓
Excelファイルとして保存
↓
Excelを閉じる
↓
PDFファイルを作成
(繰り返し)
PADでの構築手順
※ 2回目のフローをベースに、3回目のアクションを追加して修正します。
⓪事前準備
2回目のフローの変数を変更します。
4回目の作業フォルダを作成して、2回目で利用していた「販売管理シート.xlsx」「請求書テンプレート.xlsx」を、今回の作業フォルダにコピーします。
また、請求書の作成ができているかを確認するために、「Excel請求書フォルダ」と「PDF請求書フォルダ」を作成しておきます。
▶ 作業フォルダ
作業フォルダを作成します。
C:\作業フォルダ\004_請求書作成
▶ Excel請求書フォルダ
請求書テンプレート.xlsxに、請求情報を差し込みしたExcelファイルを保存するためのフォルダです。
C:\作業フォルダ\004_請求書作成
¥Excel請求書フォルダ
▶ PDF請求書フォルダ
Excelの請求書ファイルをPDFに変換して保存するためのフォルダです。
C:\作業フォルダ\004_請求書作成
¥PDF請求書フォルダ
▶ ファイルの配置
作業フォルダに、2回目で利用していた「販売管理シート.xlsx」「請求書テンプレート.xlsx」をコピーして配置します。
C:\作業フォルダ\004_請求書作成
└販売管理シート.xlsx
└請求書テンプレート.xlsx
① データ読み込み(再掲)
Excel の起動
Excel ワークブックを開く
Excel ワークシートからデータを読み取る
→ 変数名:ExcelData
② For eachで全行処理(再掲)
- アクション:
For each
- コレクション:
ExcelData
- 現在の項目:
CurrentItem
この中に、以下の処理を入れていきます。
③ テンプレート読み込みと置換(再掲)
以下の3つの置換を順に設定します:
<<顧客名>>
→%CurrentItem[0]%
<<請求番号>>
→%CurrentItem[1]%
<<金額>>
→%CurrentItem[2]%
以下のアクションを上記パターン分設定する。
- アクション:
Excelワークシート内のセルを検索して置換する
- Excelインスタンス:%
ExcelInstance2
% - 検索モード:
検索して置換
- 検索するテキスト:
<<顧客名>>
- 置換するテキスト:
%CurrentItem[0]%
④ Excelファイルとして保存
- アクション:
Excelを閉じる
- Excelを閉じる前:名前を付けてドキュメントを保存
- ドキュメント形式:既定
- ドキュメントパス:例)
C:\作業フォルダ\004_請求書作成\Excel請求書フォルダ
¥%CurrentItem[1]%_%CurrentItem[0]%_請求書.xlsx
⑤ PDF形式で保存(詳細は3回目を参照)
▶ 変数設定
- Excel請求書ファイル:
C:\作業フォルダ\004_請求書作成\Excel請求書フォルダ
¥%CurrentItem[1]%_%CurrentItem[0]%_請求書.xlsx - PDF請求書ファイル:
C:\作業フォルダ\004_請求書作成\PDF請求書フォルダ
¥%CurrentItem[1]%_%CurrentItem[0]%_請求書.pdf
▶ ファイルが存在する場合
- ファイルが次の場合:存在する
- ファイルパス:PDF請求書ファイル
▶ (ファイルが存在する場合)ファイルの削除
- 削除するファイル:PDF請求書ファイル
▶ 既定のプリンターを変更
プリンター名:Microsoft Print to PDF
▶ ドキュメントの印刷
- 印刷するドキュメント:Excel請求書ファイル
▶ キーの送信
- キーの送信先:フォアグラウンドウィンドウ
- 送信するテキスト:PDF請求書ファイル
▶ キーの送信
- キーの送信先:フォアグラウンドウィンドウ
- 送信するテキスト:Enter
※特殊キーの挿入>その他>Return を選択
▶ 全体フロー

▶ 実行してみよう
保存してフローを実行すると、Excel内のすべての行について請求書が自動生成され、PDFファイルとして保存されます。
出力例:
請求書
INV-001_C:\作業フォルダ\004_請求書作成\PDF請求書フォルダ
¥田中商事_
.pdf
INV-002_鈴木製作所_請求書.pdfC:\作業フォルダ\004_請求書作成\PDF請求書フォルダ
¥- …
まとめ
今回のポイント:
- PADでの繰り返し処理(For each)を活用
- Excelの全行を対象にPDFの処理を自動実行
- 「手作業ゼロ」で全顧客分の請求書が作れる!
次回予告
第5回:保存先フォルダを顧客名や日付で自動作成・整理しよう!
次回は、請求書PDFを「顧客名」や「年月別」のフォルダに自動で分類・保存する方法を紹介します。
お楽しみに!