Power Automate for Desktop できること 活用事例 ~ 請求書作成 自動化~

 Power Automate for Desktop できること 活用事例
 
 

Power Automate for Desktop
できること「効果検証/フロー」

請求書 手動作成
VS
請求書 自動作成

 

Power Automate Desktop できること「効果検証/フロー」

 この記事では、 Power Automate for Desktop を活用することで、人が手作業をした場合と Power Automate for Desktop で自動化した場合の作業時間がどう変わるかを検証します。 請求書 を人が作成した場合(以下、 請求書 手動作成)と Power Automate for Desktop が自動作成した場合(以下、 請求書 自動作成)の作業時間を比較検証し、 請求書作成 自動化による生産性向上の効果を確認します。

 また 請求書作成 自動化のための、 Power Automate for Desktop フローコード についても解説します。 デスクトップフロー を作成する上で、 現在日時より月初日や月末日を生成 する方法や、 VBS (VBScript) を使用して エクセルをPDFに変換する方法について詳細を説明しています。

 Power Automate for Desktopは、デスクトップ向け Power Automateとも呼ばれ、Microsoft社が提供している RPA ツールです。 RPA は「Robotic Process Automation /ロボティック・プロセス・オートメーション」の略で、「パソコン業務を自動化するためのツール」のことです。Windows上で行われる作業を Power Automate for Desktop に実施させることで、人手で行ってきた定型的な事務作業を自動化し効率化することができます。Windows 10 ユーザーやWindows 11 ユーザーは無料から、この自動化ツールを使うことができます。

 

なお、以下のページで、 Power Automate for Desktop で 請求書 を自動作成するサンプルフローの取得が可能です。実際のサンプルを見たり、動かしながら確認してみたいという方は、下記も参照してみてくださいね。

関連記事

Power Automate Desktopで 請求書作成 を自動化するサンプルは「Power Automate for Desktop サンプル フロー で 請求書作成 にチャレンジ」で紹介しています。

目次

請求書 手動作成 VS 請求書 自動作成

Power Automate for Desktopによる自動化メリット考察

Power Automate for Desktop 請求書作成 自動化以外への活用

請求書作成 自動化フロー

自動化フロー作成手順

まとめ

請求書 手動作成 VS 請求書 自動作成

 今回は、請求書作成 を行う際に手動で作業を行った場合と、 Power Automate for Desktop を使用した場合で、作業時間がどれだけ違うのかを Power Automate for Desktop で 請求書作成 を自動化して実際に比較検証します。
 内容は契約内容をまとめた契約管理表を元に、お客様ごとの 請求書 を作成する作業です。動画では3件の 請求書作成 を自動化しています。

手動作成

手動で 請求書 を作成します。 
エクセル でまとめている契約管理表から、月次の 請求書 を手動で作成することを想定します。

自動作成

Power Automate for Desktop を使用して 請求書 を作成します 。
エクセル でまとめている 契約管理表から、月次の 請求書 を Power Automate for Desktop が自動で作成します。

Power Automate for Desktop 請求書 自動作成動画

請求書作成 を自動化する動画です。 Power Automate for Desktop の動作を動画にしています。
エクセル でまとめている 契約管理表を開き、 請求書 エクセル に1件ずつ書き込み、PDFの 請求書 に変換・作成しています。

結果

3件の 請求書作成 で検証したところ、 請求書 手動作成が7分30秒、 請求書 自動作成が55秒で約6分30秒の差があります。
手動で行った場合は入力ミスや操作ミスなどでさらに時間がかかる可能性もあるので、 Power Automate for Desktop で行うのは速くて正確にできて、とても生産的ですね。

Power Automate for Desktop による自動化メリット考察

今回の結果を元に、件数が増えた場合に、どのような時間となるかを算定してみます。

経過月数作成件数 手動作成自動作成
1ヶ月目502時間5分15分
3ヶ月目1506時間15分45分
6ヶ月目30012時間30分1時間30分
9ヶ月目45018時間45分2時間15分
12 ヶ月目60025時間3時間

1か月に1回50件の手動入力をする場合、1年間では25時間かかります。
Power Automate for Desktop で自動入力すると、1年間で3時間となります。22時間の効率化が達成できます。
Power Automate for Desktop を専用マシンで動作させれば、1年間で25時間の効率化が達成できます。

なお、 請求書作成 を自動化する Power Automate for Desktop を作成するためにかかった時間は、本サンプルでは3時間でした。
Power Automate for Desktop 作成時間を差し引いても、1年間で22時間の効率化が達成できると言えます。

さらに、1回の作業件数が多い業務や、定期的に発生する単純作業を自動化し、長期的に繰り返し使うことで効率化効果は高くなりますね。
自動化によってデータ入力業務から解放され、空いた時間は他の重要業務に活用することができます。

Power Automate for Desktop 請求書作成 自動化以外への活用

本記事の内容の他に次のようなことへの活用も考えられますね。
また Power Automate for Desktop で自動化する 請求書 などの 帳票 を増やせば増やすほど、効率効果も高くなりますよ。
・見積書を自動作成
・発注書を自動作成
・納品書を自動作成
・領収書を自動作成

請求書 作成 自動化フロー

 ここからは、 請求書 作成 の自動化をするために、 Power Automate for Desktop でどういったフローを作成しているかについて解説します。

※フロー解説と動画で扱っている 請求書 はフォーマットは異なります。
 以降のフロー解説では最新版の 請求書 のフォーマット( インボイス制度対応 )を使用しています。

請求書作成 自動化では、契約管理表からデータを取得して 請求書 を作成し、 PDF 化するフローを作成しました。①~④が概要手順です。

①:「契約管理表( Excel )」からデータを取得する。
②:①取得したデータを元に「請求書( Excel )」を作成する。
③:「請求書( Excel )」を PDFに変換し、出力する。

 

図1 請求書 作成 自動化フローイメージ

契約管理表( Excel )の内容です。

画像クリックで拡大表示

請求書 テンプレート( Excel )の内容です。
2つの赤枠の部分はご自身の環境に合わせて修正してください。

画像クリックで拡大表示

作成する 請求書 ( PDF )の内容です。

画像クリックで拡大表示

自動化フロー作成手順

それでは、自動化フローを作成する手順を1からご紹介します。

①変数を2つ設定
 各変数の名前と説明については下記の表に記載しています。

変数名説明
%Excel行番号%3Excelの行番号を設定する変数です。
%登録番号%T9999999999999インボイス登録における登録番号を設定する変数です。
今回は便宜上、左記の値を設定しています。

%Excel行番号% の値を変数にしておくことで、後の処理で扱いやすくしています。
%登録番号% の値を変えれば、 インボイス制度対応 の 請求書 作成が可能です。

画像クリックで拡大表示
画像クリックで拡大表示

②Excelの起動
 契約管理表( Excel )を開きます。
 「Excelの起動」には「次のドキュメントを開く」、
 「ドキュメントパス」には 契約管理表( Excel )のパスを指定します。

画像クリックで拡大表示

③ Excel ワークシートから単一のセルを読み取る
 「Excel ワークシートから読み取る」アクションを2つ設定します。

1つ目の「Excel ワークシートから読み取る」アクション
 各アクションで設定する値は下記のようにしています。
 最後に、「生成された変数」を「 請求書 番号」という名前に変更しておきます。

画像クリックで拡大表示

①で設定した変数「%Excel行番号%」の初期値は3なので、下記赤枠の 請求書 番号を取得できます。

画像クリックで拡大表示

2つ目の「Excel ワークシートから読み取る」アクション
 各アクションで設定する値は下記のようにしています。
 最後に、「生成された変数」を「お客様名」という名前に変更しておきます。

画像クリックで拡大表示

同様に、下記赤枠のお客様名を取得できます。

画像クリックで拡大表示

④ Excel ワークシートからセルを範囲を指定して読み取る
 「Excel ワークシートから読み取る」アクションを3つ設定します。
 契約管理表( Excel )のセルの値を読み取り、取得します。

1つ目の「Excel ワークシートから読み取る」アクション
 各アクションで設定する値は下記のようにしています。
 最後に、「生成された変数」を「品名」という名前に変更しておきます。

画像クリックで拡大表示

D列の%Excel行番号%行目~%Excel行番号+4%行目、つまり3行目~7行目までの値を取得できます。

画像クリックで拡大表示

2つ目の「Excel ワークシートから読み取る」アクション
 各アクションで設定する値は下記のようにしています。赤枠以外は先ほどと同様の値です。
 最後に、「生成された変数」を「数量」という名前に変更しておきます。

画像クリックで拡大表示

E列の3行目~7行目までの値を取得できます。

画像クリックで拡大表示

3つ目の「Excel ワークシートから読み取る」アクション
 各アクションで設定する値は下記のようにしています。赤枠以外は先ほどと同様の値です。
 最後に、「生成された変数」を「単価」という名前に変更しておきます。

画像クリックで拡大表示

F列の3行目~7行目までの値を取得できます。

画像クリックで拡大表示

⑤ 請求書 テンプレート( Excel )の起動
 読み取った値を 請求書 に記載するために、 請求書 テンプレート( Excel )を開きます。
 「Excelの起動」には「次のドキュメントを開く」、
 「ドキュメントパス」には 請求書 テンプレート( Excel )のパスを指定します。

画像クリックで拡大表示

⑥ Excel ワークシートに書き込む
 「Excel ワークシートから読み取る」アクションを6つ設定します。
 請求書 テンプレート( Excel )に合計6か所のセルに書き込みます。

各アクションで設定する値は下記のようにしています。

画像クリックで拡大表示

同様に残りの5つのアクションにも値を設定します。

画像クリックで拡大表示

各アクションで設定する値は下記のようにしています。

Excelインスタンス書き込む値書き込みモード
%ExcelInstance2%%お客様名%指定したセル上B12
%ExcelInstance2%登録番号:%登録番号%指定したセル上L5
%ExcelInstance2%No.%請求書番号%指定したセル上M12
%ExcelInstance2%%品名%指定したセル上C21
%ExcelInstance2%%数量%指定したセル上K21
%ExcelInstance2%%単価%指定したセル上L21

ここで一度フローを実行してみると、しっかりと書き込みが行われていることを確認できます。

画像クリックで拡大表示
画像クリックで拡大表示

⑦ 変数を2つ設定
 請求書 ( Excel )と 請求書 ( PDF )を保存するためのパスを設定します。
 各変数の名前と説明については下記の表に記載しています。

変数名説明
%ExcelFilePath%C:\PowerAutomateDesktop請求書シナリオサンプル\作成済請求書\%お客様名%様.xlsx請求書( Excel )の保存先パスを設定します。
%PdfFilePath%C:\PowerAutomateDesktop請求書シナリオサンプル\作成済請求書\%お客様名%様.pdf請求書(PDF)の保存先パスを設定します。

ファイル名を「%お客様名%様.xlsx」 や 「%お客様名%様.pdf」 と設定することで、
「株式会社A.xlsx」のようにお客様名をファイル名として保存することができます。

画像クリックで拡大表示
画像クリックで拡大表示

⑧名前を付けて保存
 作成した 請求書 に名前を付けて保存します。
 「Excelを閉じる」アクションを追加します。
 「Excelインスタンス」には「%ExcelInstance%」
 「Excelを閉じる前」には「名前を付けてドキュメントを保存」
 「ドキュメント形式」には「Excelブック(.xlsx)」
 「ドキュメントパス」には⑦で設定した「%ExcelFilePath%」を設定します。

画像クリックで拡大表示

⑨ VBScript の実行
 「VBScript の実行」アクションを使用して、作成した 請求書 ( Excel )をPDF形式に変換します。

画像クリックで拡大表示

「VBScript の実行」に、以下のコードを入力します。

Dim Excel
Dim ExcelDoc
‘エクセルファイルを開く’
Set Excel = CreateObject(“Excel.Application”)
Set ExcelDoc = Excel.Workbooks.open(“%ExcelFilePath%”)

‘PDFファイルを作成する’
Excel.ActiveSheet.ExportAsFixedFormat 0, “%PdfFilePath%” ,0, 1, 0,,,0

‘Excelファイルを閉じる’
Excel.ActiveWorkbook.Close
Excel.Application.Quit

VBScript を使用して Excel を PDF に変換する、方法についてはMicrosoft社のページでも詳細を確認できます。
本記事もMicrosoft社の内容を参考に構成しています。

⑩ 請求書 ( Excel )を削除
 「ファイルの削除」アクションを追加します。
 「削除するファイル」に「%ExcelFilePath%」を設定することで、
 作成した 請求書 ( Excel )を削除し、 請求書 (PDF)の方のみ残すことができます。

画像クリックで拡大表示

以上で、
①契約管理表( Excel )の情報を取得
② 請求書 テンプレート( Excel )に書き込み
③ 請求書 ( Excel )をPDF化
という処理を組むことができました。

ですが、上記で作成したフローだけでは契約管理表( Excel )のうちの1社(株式会社A)の情報しか 請求書 化できていません。
なので、契約管理表( Excel )に記載のある全ての情報を 請求書 化できるようにアクションを追加していきます。

⑪ 変数を大きくする
 「変数を大きくする」アクションを追加します。
 「変数名」に「%Excel行番号%」、
 「大きくする数値」に「5」を設定します。

画像クリックで拡大表示

変数%Excel行番号%(初期値は3)を大きくすることで、次の処理を行う際の読み取り位置を変えることができます。

画像クリックで拡大表示

⑫ 読み取り開始位置を設定するラベルを作成
 「ラベル」アクションを一番始めの「Excelワークシートから読み取る」アクションの直前に追加します。
 「ラベル名」は任意の名前を設定します。今回は「読み取り開始ラベル」とします。

画像クリックで拡大表示

⑬「移動先」アクションを追加
 フローコンソールの最後に戻り、「移動先」アクションを追加します。
 ラベルには⑫で作成したラベルに移動するように設定し、
 「Excel ワークシートから読み取る」アクションを最初からもう一度行うように設定します。

画像クリックで拡大表示

⑭読み取り終了位置を設定するラベルを作成
 「ラベル」アクションを追加します。
 「ラベル名」は任意の名前を設定します。今回は「読み取り終了ラベル」とします。

画像クリックで拡大表示

⑮「if」アクションを設定
 「if」アクションを「お客様名」を読み取るアクションの次に追加します。
 「最初のオペランド」には「%お客様名%」、
 「演算子」には「と等しい」、
 「2番目のオペランド」には「%”%」を設定します。
 「%”%」とは空であるという意味を表しています。

画像クリックで拡大表示

⑯「移動先」アクションを追加
 ⑮で設定した「if」アクションの中に「移動先」アクションを追加します。

画像クリックで拡大表示

⑫、⑬の手順によって「読み取り開始ラベル」に戻る「移動先」アクションを通過するごとに
契約管理表( Excel )の読み取りを行うアクションに戻ります。
その際に、「お客様名」のセルが空の場合「読み取り終了ラベル」に移動する処理を組むことで
意図的にループ処理を終わらせるようにフローを組んでいます。

画像クリックで拡大表示

⑰契約管理表( Excel )を閉じる
 最後に契約管理表( Excel )を閉じて完了です。

画像クリックで拡大表示

最後にフローを動かして実行結果を確認してみます。
無事、契約管理表( Excel )に記載のある情報を 請求書 化し、PDF形式で出力することができました。

画像クリックで拡大表示

まとめ

 Power Automate for Desktop の活用で、 請求書 作成 時間を短縮したり、 実行方法によっては退社後に自動作業をすることが可能となり、業務を効率化することができます。
 さらに、人は人による判断が必要な重要業務に注力することができるようになり、生産性の向上や売上の向上に繋げることができます。
是非あなたも Power Automate for Desktop を導入し、 生産性の向上や売上の向上を実現してはいかがでしょうか。