特集
Windows 11の業務自動化ツールでラクがしたい!純正アプリ「Power Automate Desktop」の使い方
2021年10月16日 09:50
Windows 11にMicrosoftの業務自動化(RPA)ツールである「Power Automate Desktop」が標準搭載されるようになった。Windows上のアプリやWebサイトを自動的に操作することで、データ入力などの業務を自動化できるソリューションだ。有名なブラウザゲームである「Cookie Clicker」を例に、誰にでもできる自動化の例を紹介する。
なお、MicrosoftはWindows 11への搭載に伴い、呼称を「Power Automate for desktop」に変更したとしているが、現状アプリ上に表示される名前は「Power Automate Desktop」のままのため、本稿では従来通りの名前を使用している。
(1) Power Automate Desktopとは何か?
(2) 熾烈なRPAシェア争い
(3) Power Automate Desktopを使えるようにする
(4) 簡単なフローを作成してみよう
(5) 【作例1】Cookie Clickerをひたすらクリックする
(6) 【作成2】クッキーの数を認識させる
(7) まとめ - 色々な作業に試してみよう
Power Automate Desktopとは何か?
Power Automate Desktopは、普段PC上で行なっている操作をロボットに代わりに実行してもらうことができるRPA(Robotic Process Automation)ソリューションだ。
例えば、よくある作業の例として、Excelとアプリを使った繰り返し処理を想定してみよう。
- 新しい顧客情報が記載されたExcelファイルを開く
- 社内で利用している顧客管理アプリの画面を開く
- 顧客管理アプリの新規登録ボタンをクリックする
- Excel表の1行目のデータを確認し、名前列のデータを顧客管理アプリに入力する
- 同じ行の会社名列のデータを顧客管理アプリに入力する
- 次の列のデータを入力
- 次の行のデータを入力
……以下、繰り返し
こうした、「転記」「集計」「確認」「変換」「情報取得」などを繰り返す業務を人間の代わりにロボットに実行させることで、作業の効率化や時間短縮、より付加価値の高い作業へのシフトなどのメリットを生み出すことができるのがRPAのメリットだ。
組織の現場には、全体のシステム化予算の網からこぼれ落ち、「運用で対処」という便利な言葉の犠牲となった様々な業務が存在する。こうした業務を現場でその作業を担当する人が、自らの手によって、しかも無償で自動化できるのが、今回の「Power Automate Desktop」ということになる。
イメージとしては、Excelのマクロを、さらに簡単に、そして広範囲に適用できるものにしたツールと考えるといいだろう。
熾烈なRPAシェア争い
Microsoftは、2020年にSoftomotiveの「WinAutomation」を買収して以来、2021年3月からWindows 10ユーザー向けに「Power Automate Desktop」としてクライアント向けソリューションの無償提供を開始し、今回のWindows 11で、さらに一歩実装を進めて、OS標準機能として搭載してきたことになる。
この背景には、急速に進むRPA市場での熾烈なシェア争いがある。現在、RPAソリューションは、WinActorやUiPath、BizRobo!、Automation Anywhere、Blue Prismなど複数のベンダーによってサービスが提供されている。
ガートナーが公表しているマジッククアドラント(競合との相対的な力関係を4象限にプロットした図)によると、Microsoftは2020年はビジョナリー(4象限の右下)の位置付けであったが、2021年に発表された最新版ではリーダー(4象限の右上)にまで急速に業界内での地位を高めている。
ビジョナリーからリーダーに上がったということは、縦軸の実行能力(Ability to Excecute)が向上したことを示しており、実際に市場での導入が着実に進んでいることをうかがわせる。
今回、Windows 11に標準搭載したことにより、縦軸の実行能力は、今後さらに高い位置へと引き上げられる可能性が高い。
個人的な印象としては、まだまだ機能的にUiPathに劣る部分が大きいと感じるが、Windows 11で実用的な機能を備えたRPAソリューションが無料かつ標準で使えるようになったインパクトは、競合にとっても無視できないものと言えるだろう。
なお、Power Automateシリーズには有償版のサービスも存在するが、無償版ではクラウド版Power Automateとの連携ができなかったり、スケジュールなどでの自動実行ができなかったりと、大規模な環境で使うための機能が制限されている。
Power Automate Desktopを使えるようにする
それでは、実際にPower Automate Desktopを体験してみよう。
標準でOSに搭載されたとは言っても、2020年10月12日時点では、Windows 11のスタートメニューにある「ピン留め済み」および「すべてのアプリ」ともに「Power Automate Desktop」のアイコンは見当たらない。
どこから起動するのか?というと、検索して起動することになる。
タスクバーの「検索」ボタンから「power automate」などのキーワードで検索すると、「Power Automate(アプリ)」という項目が表示される。これをクリックして起動することで、アプリが最新版に更新され、Power Automate Desktopの画面が表示される。
初回は、サインインが必要になるので、Microsoftアカウントを使ってサインインすることで利用可能になる。
なお、個人向けのMicrosoftアカウントでサインインした場合は作成した自動化フローがOneDriveに保存され、Microsoft 365の組織アカウントでサインインした場合はDataverse(旧Common Data Service)に保存される仕様となっている。
簡単なフローを作成してみよう
それでは、実際にフローを作成してみよう。
起動時に表示されるフローパネルで、[新しいフロー]をクリックし、名前を付けるとフローデザイナーと呼ばれるフロー作成ツールが起動する。
このフローデザイナーでロボットに実行させたい命令を記述していく。左側に[アクション]と呼ばれる命令が用意されているので、ここから例えば[システム]の[アプリケーションの実行]を画面中央にドラッグすると、パラメータの設定画面が表示される。
[アプリケーションパス]で起動したいアプリを指定するなど、実行に必要なパラメータを与えると、[1]としてアクションが中央に配置される。
このように、左側にある命令を実行したい順番に中央に並べていけば、あとからその通りにロボットが操作を実行するわけだ。
アクションは、30~40個ほどのカテゴリにそれぞれ10~20個ほど格納されており、[Webオートメーション][Excel][Outlook][PDF]など、業務によく使うアプリ用のアクションが用意されている。
例えば、Excelの項目を展開すると、[Excelの起動][Excelワークシートから読み取り]など、日本語の命令として記述されており、アクションで何が実行されるのかが直感的で分かりやすい。
WordやPowerPointはないなど、すべてのアプリを対象としたアクションが用意されているわけではないが、存在しないアプリであっても、起動やクリック、キー入力などの一般的なアクションを組み合わせることで操作が可能となっている。
既存のRPA製品を使ったことがあるユーザーであれば、基本的に同じような感覚で利用できるが、細かな作法で違いがあるので、その部分は慣れが必要だ。
例えば、UiPathでは、Excelのシートからデータを読み込む際、自動的に指定したシートのデータを一括で取得できるが、Power Automate Desktopでは範囲指定が必須となる。こうしたあたりは流儀というか、作法の問題ではあるが、機能的に比較するとUiPathのようなツールの方が洗練されている。
RPA製品で初心者がつまずきがちなのは、何と言っても変数(とセレクタ)の存在だが、本製品では変数が自動的に作成されるように工夫されているため、格納するデータによって型を選択するなどの手間がない。
Excelから読み込んだデータテーブルを変数パネルから確認できるなど、変数に格納されているデータを視覚化できる点も秀逸で、分かりやすい設計となっている印象だ。
【作例1】Cookie Clickerをひたすらクリックする
実践例として、サンプルのフローを作成してみよう。現状、Windows 11ユーザーは圧倒的にコンシューマが多いはずなので、業務の自動化よりも、もう少し身近なゲームの自動操作に挑戦してみよう。
操作対象は「Cookie Clicker」となる。まずは、画面に表示されたクッキーをシンプルにクリックしまくってみることにする。
なお、ブラウザを操作する場合は、ブラウザ側に拡張機能が必要になる。Edgeの場合、起動するとPower Automateの拡張機能をインストールするかどうかが表示されるので、画面のメッセージに従って有効化しておこう。
そのほかのブラウザの場合は、[ツール]メニューの[ブラウザ拡張]から拡張機能を追加しておく。
(1) ブラウザを起動する
まず、ブラウザを起動する。[Webオートメーション]にある[新しいMicrosoft Edgeを起動する]アクションを配置し、[初期URL]に「https://orteil.dashnet.org/cookieclicker/」を指定する
(2) 処理をループさせる
続いて、繰り返しクリックするためのループ処理を配置する。[Loops]カテゴリには、複数のループ処理用のアクションがあるが、今回はシンプルに指定した回数だけループさせる[Loop]を配置する。
(3) クッキーをクリックさせる
最後に[Webオートメーション]の[Webページのリンクをクリックします]を配置し、[UI要素]にクリック対象となるクッキーを指定する。
[UI要素]で[UI要素の追加]をクリックすると、実際のブラウザ上で操作対象を指定できる。ブラウザ上のクッキーにマウスカーソルを合わせると「Div」として赤枠でセレクタが表示されるので、Ctrlキーを押しながらクリックして、この場所を操作対象としてPower Automate Desktopに登録する。
(4) 実行してみる
とりあえず、シンプルにクリックを繰り返すだけのフローは、これで完成だ。実行すると、自動的にブラウザが起動し(あらかじめブラウザは閉じておく)、ひたすらに画面上のクッキーのクリックを繰り返すことが確認できるはずだ。
しかしながら、実際にマウスでクリックするよりも、だいぶクリック速度が遅いことに気が付くだろう。今回の例では、速度をほとんど考慮していないため、ゆっくりとクリックが繰り返される。
ただし、画面上の座標などを指定してクリックする場合と異なり、ブラウザ内のコンテンツをきちんと認識し、そこを確実にクリックし続けるため、ブラウザを移動したとしてもクリックが繰り返される。もちろん、実行中にマウスを操作しても問題ない。
このように、RPAでは、速度よりも、状況に関わらず確実に、狙った操作を実行することが重要になってくる。
※ZIPファイル内に5MB程度のテキストファイルが入っています。使用するにはテキストファイルを開いた後、内容をすべてコピーして、Power Automate Desktopで作成した新しいフローのMainタブ上に貼り付けてください。
【作成2】クッキーの数を認識させる
作例2として、上記のフローをもう少し発展させてみよう。これは、ステップごとに説明すると長くなるので、全体の構造とポイントのみを記載する。
この例では、繰り返されるクリック100回ごとに、ゲーム画面のチェックを実施している。具体的には、画面上のクッキーの数とアイテムの価格(例はカーソルのみ)を取得し、アイテムの価格がクッキー総数の20分の1なら、新しくカーソルアイテムを購入するというものだ。
要するに、クリックで貯めたクッキーが一定数貯まったらアイテムを買うというものになる。
ポイント1:Loop condition
まず、先ほどのループの外側に「Loop condition」を配置している。このループは、条件を満たす限りループを繰り返すというものだ。「Loop」は回数を指定するが、こちらは条件が変わらない限り、永遠にループを繰り返す。
ポイント2:Webページからデータを抽出する
このアクションによって、Webページに表示されている情報を取得できる。今回の例では、クッキーの数とアイテムの価格の両方を取得するために1つずつ配置している。
ポイント3:テキストの分割とテキストを数値に変換
「Webページからデータを抽出する」で取得した情報には、余計な情報が含まれている。具体的には、「101 cookies per second:0」のようなデータが取得されるので、これをスペースで区切って配列化する。
その上で、先頭の「101」のようなクッキーの数だけを配列から取り出し、「テキストを数値に変換」で数値型のデータにする。
ポイント4:Switch Case
最後にSwitch Caseを使って、条件ごとにアイテムを購入する。ここではクッキーの数がアイテムの価格の20倍よりも多ければ、アイテムの購入ボタンをクリックするという例になる。
Caseを1つしか作成していないが、ほかにもアイテムがあるので、同様に条件を追加することで、ほかのアイテムを購入したり、アイテムを強化したりすることができる。
まとめ - 色々な作業に試してみよう
以上、Power Automate Desktopを実際に使ってみたが、OS標準アプリで、本格的なRPAが利用できる優れたソリューションと言えそうだ。
正直、競合製品と比べると、操作の容易さや機能の豊富さで劣る部分はあるが、かと言って日常業務を自動化するのに困ることはないし、変数を意識しなくていい点などもとっつきやすい。
今回は、簡単なゲームのプレイを自動化してみたが、Excel表からの経費精算アプリへの入力、Excel表データの消し込み、Excel表からメール本文の自動作成や自動送信など、様々な用途に活用できる。
[ヘルプ]の[学習]から、かなり分かりやすい学習コンテンツを無料で利用することもできるので、独学でも十分に始めることができる。身に付けておいて損のないスキルなので、ぜひ体験してみることをおすすめする。
※ZIPファイル内に5MB程度のテキストファイルが入っています。使用するにはテキストファイルを開いた後、内容をすべてコピーして、Power Automate Desktopで作成した新しいフローのMainタブ上に貼り付けてください。