Microsoftの無料RPAソフト、Power Automate Desktopによる請求書作成自動化の手順。

Microsoftの無料RPAソフト、Power Automate Desktopによる請求書作成自動化の手順。
Pocket

2021年3月2日より、MicrosoftのRPAソフト、「Power Automate Desktop」が無料で使えることになりました。

(Windows専用ソフトのため、Macでは利用できません)

早速ダウンロードして、

ExcelのデータからマネーフォワードクラウドのWeb請求書作成システムである「クラウド請求書」

へ自動でデータを転記するプログラムを作ってみました。

その手順をまとめてみました。

RPAの用途も、あらためて考えてみました。

これからRPAを使っていきたい方の参考になればと思います。

 

Power Automate Desktopのダウンロード

Power Automate Desktopは以下からダウンロードできます。

Power Automate Desktop | Microsoft Power Automate

なお、Webと連携するプログラムを作りたい場合には、あらかじめブラウザごとの

拡張機能が必要となります。

ソフトのインストール時に表示されますので、忘れずにインストールしておきます。

Power Automate Desktopの画面

ソフトを起動して、「+新しいフロー」を選択すると以下の画面が現れます。

左の「アクション」に掲げられているものがプログラムの部品のようなものです。

これらを右側のフローの画面にドラッグしてプログラムを作っていきます。

請求書作成自動化プログラム

RPAを作成するときは、

まずざっとで良いので手順を確認すると良いと思います。

確認は、紙に書くことがお勧めです。

今回は、以下のとおりとなりました。

ブラウザ(Chrome)を起動する

Excelを起動して、セル範囲を読み込む

読み取ったデータを、請求書画面に転記していく

Eメールを送信する(入力があるデータのみ)

PDFで請求書ダウンロードする

2行目以降も繰り返し

データの準備

請求書に転記するデータをExcelで準備します。

今回は、このようなデータを準備しました。

MFクラウド請求書の各項目に対応しています。

ブラウザを起動する

ブラウザを起動するには、「Webレコーダー」というメニューを利用します。

すると、使用するブラウザを選ぶ画面が現れます。

私はChromeを使っているのでChromeを選びました。

(なお、UiPathではブラウザは選んでいませんでした)

初期URLをMFクラウド請求書のアドレスにしておきます。

Excelを起動する

Excelを起動するには、「Excelの起動」アクションを選びます。

Excelの起動:次のドキュメントを開くを選択し、

ファイルのあるパスを指定します。

なお、指定されたExcelブックは「ExcelInstance」という変数に格納されます。

セル範囲を読み込む

次に、先ほど作ったデータのうち、転記するセルの範囲を読み込みます。

最初にしておかなければいけないのが、

読み込むデータの最終行と最終列の取得です。

これをしておかないと、毎回セル範囲の指定をする必要が出てきてしまうためです。

最終行と最終列は、「最初に空白となる行と列」です。

ドンピシャで、

「Excelワークシートから最初の空の列や行を取得」

という便利なアクションがあるので使います。

 

パラメーターは、先ほど格納した変数「ExcelInstance」になります。

(変数は%で囲むルールのようです)

生成された最終列、最終行はそれぞれ「FirstFreeColumn」、「FirstFreeRow」に格納されました。

 

最終列と最終行を取得できたので読むこむ範囲を指定できます。

「Excelワークシートから読み取り」アクションを選び、

先頭列:1

先頭行:1

最終列、最終行にそれぞれ「FirstFreeColumn-1」、「FirstFreeRow-1」

を指定します。

(「-1」とすることによって、空白になる直前の列と行を取得できます)

なお、「範囲の最初の行に列名が含まれています」を有効にしておけば、

1行目を列名として認識してくれます。

 

読み込んだ範囲は変数「ExcelData」に自動的に格納されました。

これで、読み込む範囲を指定できました。

右側の変数ウィンドウで、格納されているデータを見ることもできます。わかりやすくて良いですね。

読み取ったデータを、請求書画面に転記していく

変数「ExcelData」に格納したデータを、1行ずつExcelに転記していきます。

1行ずつ処理するアクションは、「For each」というアクションになります。

反復処理を行う値に、先ほど作った変数「ExcelData」を指定します。

反復処理する一つ一つの行データは、「CurrentItem」変数となります。

For eachと、Endというアクションが追加されました。

この間に、転記する作業を入れ込むことになります。

転記していく作業ですが、

Webレコーディングを利用した方が早いです。

一連の動作を、ひとまずデータは適当に、記録していきます。

例えば請求書を作成するには、まず「+」ボタンをクリックしますが、

Webレコーディングをすると要素は赤く表示されますので、

クリックすると要素を認識して記録してくれます。

このような要領でひとまず最後まで記録だけしてしまいます。

ひととおり記録が終わったら、

転記項目を変数に置き換えていきます。

例えば、取引先名を入力する箇所には

先ほど格納した1行ごとのデータの変数である「CurrentItem」を利用し、

インデックス番号を追加して何番目のデータかを指定します。

取引先は一番最初のデータなので、「0」を指定します。(インデックス番号は1からではなく0から始まります)

このような形で、CurrentItem[1]、[2]・・・と指定していきます。

なお、品目数によって条件分岐をIfアクションで行っています。

Ifアクションは、

条件に該当する場合の処理と、それ以外(Else)の処理を指定できます。

品目2が空でない場合(データが入力されている場合)には

それ以降のデータを取得し、

それ以外(Else)は処理なし、ということで作りました。

なお上記は条件が1つでしたが、「Elif」アクションを使えば複数の条件を指定できます。

Eメールを送信する

メールアドレスに入力がある場合は、メール送信まで行うようにしました。

やり方は、上記と同じです。

このような条件も、Ifアクションで作ることができます。

PDFで請求書をダウンロードする

最後に、PDFボタンを押して請求書をダウンロードする処理を追加しました。

「Webフォーム入力」アクションから、「Webページのボタンを押します」を選びます。

UI要素は、Webレコーディングの要領で取得ができます。(Ctrlを押しながらマウス左クリックで選択できます)

 

注意点

UiPathでもよくあったのですが、

保存をしているときなど、処理と処理との間に時間を置く必要があるときがあります。

そんなときは、「Wait」アクションです。

秒単位で、アクションとの間をとることができます。

(砂時計マークで、分かりやすいですね)

 

こちらが完成動画です。よかったらどうぞご覧ください。

Power Auto Desktopの使用感

以上、Power Auto Desktopを使ってプログラムを作成する方法をまとめました。

使ってみて感じたことを、書いてみます。

UiPathに比べて、Power Auto Desktopは画面がシンプルと感じました。

特に、UiPathの場合には

レコーディングを何度もしていると入れ子状態になってしまい

みづらくなってしまったのですがPower Auto Desktopはそれがありません。

また、動作が早く、安定していると感じました。

ちょっと試したところ

プログラムが動いている間別のことをしいていても大丈夫でした。

(例えば、ブラウザで他のサイトを見るなど)

マニュアルがすぐ見ることができるのも良いです。

各アクションにはマニュアルへのリンクがついており、

↓このようなマニュアルに飛ぶことができます(説明は難しいけど。。)

エラーもすべて日本語で表示されますので、対処すべきことが分かりやすいです。

 

もうひとつの無料のRPAソフト、UiPathとどちらが良いか、ということですが

そこまで機能に大差はないかな、と感じました。

ただ初めてRPAを触る人であればUiPathのほうがUIが分かりやすくて良いと思います。

(私はシンプルなものがすきなのでPower Auto Desktopの画面の方が好みです)

 

RPAの用途

数年前からRPAを試していますが、

あらためてRPAの用途を考えてみました。

業務効率化は様々な種類のものがありますが、

RPAの特徴として「様々なシステムの横断的な効率化」が可能な点があります。

ですので、CSVを活用できるならCSV、Excel内で解決することは関数、Excelマクロ・VBA、Google Apps内で解決することはGAS、

どうしても解決できない場合にRPA

というように最終手段かな、と考えています。

どうしても解決できない具体例としては、

  • CSVアップロードに対応していない基幹システム(国のソフト含む)の自動化
  • 多数のシステム(Web系含む)が絡む業務

といったものです。

特に1つ目が経理効率化に必要かなと思います。

今回紹介したクラウド会計ソフト等はCSV対応しているものが多いのですが、

大多数は対応していません。そこを無理矢理RPAで自動化して効率化するニーズはあります。

とはいえ上記の用途意外にも

RPAはプログラミングの登竜門としては最適なツールなので、

少し慣れたらExcelVBA、GAS、Pythonなどに進んでいく

というのもありだと思っています。

 

まとめ

Microsoftの無料RPAソフト、Power Automate Desktopで請求書作成を自動化し、

その手順とRPAの用途をまとめてみました。

これからRPAを触っていきたい、という人に

Power Automate Desktop、是非お勧めです。

 

編集後記

土日はUdemyで写真講座を受講。

一度ミラーレス、挫折してしまったので再挑戦中です。

 

最近のあたらしいこと

Udemyの写真講座


【税務メニュー】

税務顧問(現在受付停止中)
クラウドオピニオン(セカンドオピニオン)
スポット相談(オンライン)
スポット相談(メール)

【コンサルティングメニュー】

クラウド会計導入コンサルティング
個別コンサルティング

【動画販売】

フリービズコンサルティング販売ページ

【Youtube始めました(毎週水曜日更新)】

ひとり女性税理士チャンネル


<広告スペース>