2021年3月にWindows10ユーザーを対象に無償化され、一躍注目を浴びているRPAソフトがある。それがMicrosoft社の「Power Automate Desktop」だ(以下、PADと称する)。この記事では、RPAで最も重要なブラウザとExcel操作の自動化について説明し、それをPADで実装する手順をわかりやすく解説する。
目次
なぜRPAなのか?
RPAとはRobotic Process Automationの略であり、人間が行っていたパソコン上のマウスやキーボード操作を自動化できるソフトウェアだ。ただのソフトウェアがなぜこれほど注目されているのだろうか? それは、通常のソフトウェアは人間に「操作される」存在である一方、RPAはソフトェアを「操作する」ソフトだからである。つまり、RPAとはパソコンを自動操作してくれるロボットのような存在なのだ。したがたって、RPAをロボット社員とみなす企業も多い。
なぜPower Automate Desktopの存在が衝撃なのか?
これまで、RPAソフトではアメリカのUiPathというソフトウェアが頭一つ抜けていた。操作性・機能・価格面のどれをとっても業界トップレベルの存在だと筆者は考えていた。しかし、2021年3月のPAD無償化を機に考えを改めざるを得なくなった。通常のRPAソフトは年間数万円~数百万単位のコストがかかる。ところがPADに関してはWindows10ユーザーは無償だ。
さらに、機能や操作性についてもPADは優れている。近年、インターネットブラウザを使用したクラウドサービスが増えている。つまり、インターネットブラウザ操作を自動化できるということは、多くのクラウドサービスにおける操作を自動化できるということだ。そして、RPAで最も威力を発揮するのが、インターネットブラウザとExcelの連携である。Excelのデータをブラウザに入力することやブラウザの出力をExcelに書き込むという操作の自動化は、RPAの主要ニーズの一つなのである。
ExcelとEdgeブラウザを開発しているMicrosoft社のRPAソフトが、Excelとブラウザの連携に対応できないはずがない。したがって、機能面に関しても大いに期待ができる。
インストール方法について
以前執筆した以下の記事を参照してほしい。また、記事ではレコーダーを使ってフローを作成するテストを行っている。レコーダーは、実際の操作を行うだけで自動的にフローを作成してくれる機能だ。ただ、筆者の感覚として、レコーダーよりも手動でフローを作成する本記事の方が安定稼働しているように思えた。
EdgeブラウザとExcel操作の自動化をPADで実装する
ここからは非常にシンプルな操作をPADで実装する。Excelシートの情報を読み取り、その情報に基づいてインターネットブラウザで情報を集め、ブラウザの出力結果をExcelに書き込む。具体的には以下のように、ExcelのC3,C4セルの値を読み取ってGoogle検索し、D3,D4セルに日経平均株価とTOPIX(東証株価指数)の現在の値を書き込む操作を自動化する。
それではPADを起動し、新しいフローを作成しよう。
実装の全体像を先に提示しておく。今回は以下12個の操作を自動化する。
以下では一つひとつ見ていこう。
1「新しいMicrosoft Edgeを起動する」
Edgeブラウザを起動しよう。下図のようにドラッグ&ドロップしてみよう。
するとウィンドウが出てくるので、Google検索のホームページURLを入力する。そして、保存ボタンを押す。
2「Excelの起動」
今度はサイドバーで「Excel」内にある「Excelの起動」を同様にドラッグ&ドロップしよう。するとまたウィンドウが出てくるので下図の赤枠のところをクリックして開きたいExcelファイルを選択する。その後に保存をクリックするのも同様だ。
そして、いったんここでフローを実行しておこう。そうすると後でブラウザ上の要素を選択する際に楽になる。
3「Excelワークシートから読み取り」
これまでと同様に、次は「Excelワークシートから読み取り」をドラッグ&ドロップ。3行3列目(C3)のデータ「株価 日経225」を読み込む。読み込んだデータは、ExcelDataという変数に格納される。
4「Webページ内のテキストフィールドに入力する」
Excelで読み取った情報をグーグル検索のテキストフィールドに入力する。そのために「Webページ内のテキストフィールドに入力する」をドラッグ&ドロップ。UI要素の赤枠①をクリック後、「新しいUI要素の追加」をクリック。
そして、ブラウザのテキストフィールドにマウスカーソルを移動させ、ここがポイントだがCtrlキーを押しながら左クリックして要素を選択する。
最後に、ExcelDataという変数をテキストフィールドに入力する。そのためにテキストの{×}をクリックして、ExcelDataを選択。
<
5「Webページのリンクをクリックします」
テキストフィールドに入力が終わったので「Google検索」ボタンをクリックする。
「Webページのリンクをクリックします」をドラッグ&ドロップし、テキストフィールド要素を発見したときのように推める。
6「Webページ上の要素の詳細を取得します」
続いて、グーグル検索結果に表示された日経平均株価を取得します。
「Webページ上の要素の詳細を取得します」をドラッグ&ドロップ。テキストフィールドや「Google検索」ボタン要素を選択したときと同様の操作で株価を取得できる。取得したデータは「生成された変数」に表示されている「AttributeValue」という変数に格納される。
7~10まではこれまでと同様
7~10までの操作でTOPIXを取得するため、操作は日経平均株価の取得と同様だ。ExcelシートのC4(株価 topix)という情報を読み取って(値はExcelData2に格納)Google検索し、TOPIX株価を取得する。取得したTOPIXの価格は「AttributeValue2」という変数に格納される。
7「Excelワークシートから読み取り」→ExcelのC4セルの値をExcelData2という変数に格納
8「Webページ内のテキストフィールドに入力する」→ExcelData2の値をGoogle検索のテキストフィールドに入力
9「Webページのリンクをクリックします」
ただし、9「Webページのリンクをクリックします」だけは注意が必要で、以下のようにエラー発生時の処理設定を行う。なぜかエラーが起きるため、エラー時に再試行させる。
10「Webページ上の要素の詳細を取得します」→TOPIXの値を「AttributeValue2」という変数に格納
11,12「Excelワークシートに書き込み」
日経平均株価とTOPIXの値は「AttributeValue」と「AttributeValue2」にという変数内に格納されているので、それをExcelシートに書き込む。「Excelワークシートに書き込み」をドラッグ&ドロップし、以下のようにD3(3行4列目)に書き込む。D4(4行4列目)にTOPIXを書き込む方法も同様。
以上で完成だ。12個の操作を自動化するRPAを実装できた。
フローの再生と成功!
フローが完成したので、さきほどと同様に再生ボタンを押してみよう。
あなたは成功しただろうか? 見事に日経平均株価とTOPIXの値がExcelシートに書き込まれた!今後は再生ボタンをクリックするだけで、自動的に日経平均株価とTOPIXの値がExcelシートに書き込まれることになる。
ということで、「Excel情報を読み取ってGoogle検索した結果をExcelに書き込む」という非常に応用範囲の広い操作を自動化できた。さきほども述べたが、近年はクラウドサービスが主流となってきておりブラウザ操作の自動化は価値が高い。さらにExcelとの連携ができればなおさらである。
ぜひこの記事を参考に、あなたにもPADで業務を自動化してほしい。今後もPADの需要は高まっていくと予想される。