今回は、PowerAutomate を活用して請求書のテンプレートファイルとデータファイルから対象月の請求書を作成する。それほど難しい作業ではないが、このように実用的なフローを作成できることを実感していただきたい。
請求金額データの読み出しと書き込みを行うフローをつくる
前回はデータ用のMicrosoft Excelファイルから請求金額などのデータを取り出す処理を実装した。今回はこの取り出したデータを請求書用のテンプレートファイルに書き込む処理を実装して請求書を完成させる。
まず、前回のフローをコピーして「請求書作成 その5」を作成する。
請求金額データをMicrosoft Excelファイルから読み出し、別のMicrosoft Excelファイルへ書き込む。書き込む場所(行)は1行ごとに増やしていく必要があるので、それぞれ処理をするために変数を用意する。変数の初期値は最初に読み出す行と、最初に書き込む行に設定した。
データを1行ごと読み出すためにループを作成する。読み出す方の行数は%NumberOfRow%に保持してあるので、これを初期値に設定している。
そしてデータファイルから対象となる行の1列目のデータを取り出す。
データファイルの対象行以下の行は、1列目に請求データの対象年月が入っているので、この値がユーザー指定の年月と同じかどうかの判定を行う。
Ifの中は次のように、データを読み出して、それを請求書ファイルに書き込む処理を行う。まず、「Excel ワークシートから読み取る」アクションでデータを読み出す。
次に、「Excel ワークシートに書き込む」アクションで読み出したデータを請求書ファイルに書き込む。
読み書きを行ったら書き込む行番号を保持した%NumberOfRow2%の値を1つ増やす。これで次に書き込む時は1つ下の行にデータを書き込むことになる。
次にIfの前に取り出した年月データが空であるかどうか判定する。
空だった場合には「ループを抜ける」アクションでループを抜ける。
最後に、読み出す方の行数を保持している変数である%NumberOfRow%の値を1つ増やす。
ここまでのフローは次の通りだ。変数を設定してからループを開始し、中に2つのIfが入っていることを確認できると思う。
これで請求項目および金額の読み出しと書き込みが完了した。
残りのデータを読み書きする
最後に、請求先企業のデータをデータファイルから読み込んで請求書ファイルに書き込む。この処理は特に難しいことなく、「Excel ワークシートから読み取る」アクションと、「Excel ワークシートに書き込む」アクションを繰り返すだけだ。
これで今回のフローは完成だ。
作成したフローを実行する
早速実行してみよう。まず、実行するときに使うファイルを先に確認しておこう。次のファイル(請求書テンプレート1.xlsx)が請求書のテンプレートファイルだ。
次のファイルが実際に請求データを管理しているファイル(請求データ_◯◯◯◯システムズ.xlsx)だ。
フロー「請求書作成 その5」を実行すると、請求書のテンプレートファイル(請求書テンプレート1.xlsx)は「新規請求書.xlsx」にコピーされ、ここに請求データが書き込まれていく。完成した請求書ファイルは次のようになる。
人が操作するものはPower Automateで自動化しやすい
今回取り上げたフローのように、もともと人間が手作業で処理していたものはPower Automateで自動化する対象として適している。手動で処理する場合にはどうしてもヒューマンエラーが発生する可能性があるが、Power Automateでロジックを組めば、その心配はない。最初にフローを作成する手間はかかるが、その後の業務効率の向上につながるはずだ。
Power Automateで業務を自動化する場合、「アクションをどれだけ知っているか」が自動化を進めるカギになる。多くのアクションを把握できていれば、Power Automateでどういうフローを作成すれば自動化できるかを考えやすくなるだろう。これは経験が必要な部分でもあるので、なるべくPower Automateを操作する機会を増やし、さまざまなアクションを試してみていただきたい。