Power Automate DesktopでRPAツール制作にチャレンジ!
こんにちは!
社会のDX化の波に乗ろうと、定期的にITツール制作にチャレンジしているOVER40のただのサラリーマンです。
皆さんは、エクセルなどを使うときに何回も同じようなコピペをしたり、複数のファイルをひとつにまとめたりとめんどくさいと思うことはないでしょうか?
今回、Power Automate Desktop(以下、PADと略します)というRPAツールについて学ぶ機会がありましたので、早速RPA制作にチャレンジしました。
主にPADのレコーダー機能を使ったスクレイピングによるRPA制作にチャレンジしたのですが、初心者ながらも進め方のコツのようなものを初心者的五か条としてまとめましたので紹介します。
RPAとは
ロボテック・プロセス・オートメーションの略でこれまで人間が行ってきた作業を、人間に代わって実行できるルールエンジンやAI、機械学習等を含む技術を活用して代行・代替する取り組み。
1.RPAの制作結果
(1)やりたいことのイメージ
今回のチャレンジでは以下の一連の作業をワンクリックで自動処理するRPAを制作しています。
(2)制作に使用したツール
Power Automate Desktop
↓↓PADの使い方についてはコチラをご参照下さい↓↓
Power Automate DesktopとPower Automateは違う
今回のRPA制作にPower Automate Desktopを使用しましたが、同じような名前で有償版のPower Automateというツールもあります。この二つは実行環境(PADはパソコン、PAはクラウド)やその他の機能も違う別物ですのでご注意下さい。
(3)完成動画です
こちらが完成動画になります。
RPAで実行している作業の流れは表のとおりですが、全てをワンクリックで実行しています。人間が同じことをした場合慣れた人でも5分以上かかりますが、約半分程度の時間で終了できます。
また、そもそもデータの取得方法や加工方法がわからないという属人的な作業でも一度制作してしまえばワンクリックで誰でもできるところが大きなメリットです。
今回は主にPADのレコーダー機能を使ったスクレイピングによるフロー作成を行っていますのでご紹介します。
2.スクレイピングを用いたフロー制作
(1)スクレイピングとは
スクレイピングとは簡単に言うと情報の抽出です。レコーダー機能を使用して実際の操作を覚えさせることでフローを作成することができます。
今回はPADのレコーダー機能を使っていますが、比較的簡単にフローを作成するできます。使いやすい機能ですが、特にWebサイトを扱う際には注意点もありますのでご確認下さい。
スクレイピングの注意事項
■Webサイトの利用規約
Twitter社やAmazon社などWebサイト内の情報を取り扱う際、規約にスプレイピングの禁止や制限がある場合もあります。利用規約を確認しておきましょう。
■著作権法
Webサイトは著作物の扱いになるため同意なしに取り扱うと著作権法違反になる場合があります。無断で使用する場合は私的使用または情報解析を目的としている場合のみです。
(2)スクレイピングの参考動画
文字だけだとイメージがわきにくいと思いますので、参考動画をご参照下さい。
(3)初心者的五か条(スクレイピングで制作を進めるコツ)
スクレイピングはどうがのようにゴリゴリとフロー制作を進めることができますが、いつもうまくいくとは限りません。マウスの動作を覚えさせているだけなのに、よくわからないエラーがたくさん出ます。
そこで、今回の制作を通じて覚えたコツを初心者的五か条として紹介します!
第一条・・とりあえずやってみるべし!!
やりたいことの設計をしたら通常「あのアクションを使おう」とか「この動きに必要なアクションは?」とまずアクションを調べることから入ると思いますが、スクレイピングにはあまり必要ありません。
動画のようにレコーダー機能を使ってアクションをどんどん生成していきましょう!
第ニ条・・小さく、こまめに試すべし!!
スクレイピングをしてアクションを生成すると、すぐにうまくいくときもありますが、エラーもとても多いです。
そこで、一度にあまり多くの動作を覚えさせようとせず、小さめのトライ&エラーの繰り返しで進めて下さい。
(参考)エラーが発生した場合の対応
➀エラーが発生すると該当アクションが表示されるので確認する。
➁エラーが発生したアクションと直近のアクションの内容を確認する。
➂エラー内容が分かったら症状に合わせて対応する。
④エラーが発生したひとつ後のアクションにブレークポイントを置いて、小さい範囲でフローの再検証をする。
➄それでもわからなければ再度スクレイピングをかける。
ブレークポイントとは
フローの左側のステップ数の横をクリックすると赤丸がつきますが、これがブレークポイントです。ブレークポイントをつけると、ひとつ前のアクションで実行が止まるので確認に便利です。
第三条・・コメントを使ってパート分けをすべし!!
レコーダー機能を使うと、コメント
という動作に影響のないアクションに挟まれて記憶させたアクション一覧が生成されます。
このコメント
アクションは削除してももちろん構いませんが、コメント
欄にそのコメント以下でどのようなアクションが入力されているのかを記入しておき、フロー全体をパート分けして下さい。
スクレイピングは動作を一つ一つ覚えるため、フロー数が長くなる傾向があります。フロー数が長くなった場合は特にパート分けしておかないと、どこがどんなフローかわかりません。そのため、コメント
を有効に活用してパート分けを行うことは重要です。
第四条・・安易にWaitを消すなかれ!!
スクレイピングをしていると、意図せずWait
(待機)を表すアクションが生成されている場合があります。このアクションはフローの待機を表すもので、マウスの動きが遅かった場合などにも発生する場合があります。
当然、削除すると待機している秒数分だけフローの進みが早くなるので、ムダなものとして削除したいところですが少しお待ち下さい。そのWait
はログインなどの自動処理をするタイミングのずれを解消するために生成されているWait
の可能性があります。
そのため、Wait
を削除する場合はタイミングを合わせるためのWait
ではないのか、本当に削除しても問題ないかを確認して実行して下さい。(万が一の場合に復元できるようにしておきましょう)
第五条・・深く考えるな!感じろ! (ゴリゴリ行けよ行けばわかるさ)
スクレイピングによるフロー生成を続けていると、ここは何でこうなるんだろう?というアクションに出くわすことがあります。また、動きをそのまま記憶するからか、情報のソースが少し変わるとさっきまでできていたことが使えなくなる、ということもあります。
ここで、その都度立ち止まっていては進むものも進みません。たぶんこれでいけるな~で正常に動いたらそのまま突き進みましょう。突き進んでエラーを修正していけばなんとなく理解も出来てくるはずです。
決してスマートな方法ではないかもしれませんが、今回はとにかくゴリゴリ進めていこう!という精神で取り組みました。
↓↓こちらが全フロー99行です↓↓
さいごに~RPAを制作してみて~
PADを用いてRPAツールの制作にチャレンジしました。今回はレコーダー機能を使ってスクレイピングするという手法をメインにフローを制作していきましたが、一部は一覧からアクションを選択してフローに追加しています。
スクレイピングはとても便利な機能ですが、更なるレベルアップを図るにはある部分はスクレイピング、ある部分はアクション一覧からというようにパターンに合わせた使い分けが必要になると考えています。
今回、RPAを制作してみて感じたことは、従来までRPAはエクセルなどで発生するムダな作業をロボットが代行してくれる程度に考えていましたが、マクロと違ってパソコン以外のITツールと連携することで、さまざまなパターンに発展することができると考えました。
まだPADのようなRPAツールの機能を使いこなせている訳ではありませんが、今後は私の周囲に人間が行っているムダな業務を解消すべく、更なる機能改善を果たした実際の作業で使えるRPAを制作します。
↓↓↓RPAツール制作ストーリーはnote記事をどうぞ↓↓↓