Power Automate for desktopはMicrosoftより2021年3月にサービスが提供開始されて以来、毎月定期的にアップデートが行われており、今この時も、我々ユーザーにとってより便利に、かつ使いやすいツールへと日々進化を続けています。今回は、直近の2022年6月、7月に行われたアップデートにフォーカスし、便利になったポイントや活用方法について解説していきます。
Power Automate for desktopのアップデート方法
アップデート内容の解説前に、まずは簡単にアップデートの方法について紹介します。Power Automate for desktopを起動して

もし、Power Automate for desktopのバージョンが古ければ、下図のようにアップデートを促すウィンドウが表示され、

Power Automate for desktopが最新と表示されアップデートができない場合は、以下の手順でPower Automate for desktopの最新版インストーラーをダウンロードし、インストールを行いましょう。
- ① 以下のページを開きます。
- ② 「Power Automateのインストーラーをダウンロードします。」
をクリックします。

2022年6月のアップデート情報
1.入出力変数でより多くのデータ型がサポートされるようになりました
Power Automate for desktopでは取得した値を

「変数」

この変数に格納した値は、入力変数、出力変数を使用することで、Power Automate のクラウドフローや Power Automate for desktopのデスクトップフローから、他のデスクトップフローを呼び出す際に変数の値を受け渡すことが可能となります。

例としてPower Automateと連携する場合を考えてみます。クラウドフローでは


デスクトップフロー同士の場合も同様で、実行中のフローから

しかしこれまで入力変数、出力変数では、冒頭で紹介したデータ型の内、テキスト型以外使用できませんでした。

例えば、複数の値を1つの変数に格納しているリスト型やデータテーブル型の場合は、そのまま受け渡しができないため、テキスト型を入出力変数にて受け渡しを行い、JSON型に変換してから元の形式に変換しなおすといったひと手間が必要でした。
これは特に初級者にとって大きなハードルとなっていました。そのため、クラウドフローとデスクトップフローを連携する際は、クラウドフローのデータを扱う際に非常に苦労していたはずです。

今回のアップデートにより、テキスト型以外に以下のデータ型が入力変数、出力変数で受け渡せるようになったことで格段に使いやすくなり、誰でも簡単に様々なデータを受け渡すことが可能となりました。
- 数値型
- ブール値
- カスタムオブジェクト
- リスト
- データテーブル
2.デスクトップフローが外部リンクを介して実行できるようになりました
これまでデスクトップフローを実行するには、Power Automate for desktopを起動して一覧からフローを選択して実行するか、クラウドフローからデスクトップフローを呼び出す必要がありました。6月のアップデートにより、デスクトップフローを以下の形式の外部リンクを介して実行できるようになりました。
ms-powerautomate:/console/flow/run?environmentId=[envID]&workflowName=[Name]
上記の[envID]の部分はPower Automateの環境ID、[Name]の部分は実行したいフローの名称に置き換える必要があります。
Power Automateの環境IDはPower AutomateのWebポータルにサインインし、マイフローを選択するとアドレスバーに表示されます。

今回は例としてDefault環境の

外部リンクに環境IDと実行するフロー
ms-powerautomate:/console/flow/run?environmentId=Default-XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXX&workflowName=Test
設定した外部リンクをWebブラウザーのアドレスバーに入力しEnterキーで実行すると、下図のように実行確認のポップアップが表示されるので

すると、Power Automate for desktopのコンソール上に、フローの実行確認ウィンドウが表示されるので、

この実行確認ウィンドウは、Power Automate for desktopコンソールの設定内にある、

このように、外部からデスクトップフローを呼び出す手段が増えただけでも大きな変化です。しかし、実はこの外部リンクをWindowsのショートカット機能と組み合わせることで、Power Automate for desktopのコンソール画面を起動することなく対象のフローを実行できるようになります。
その手順は、まず新たにショートカットを作成し、設定した外部リンクを呼び出し先に設定します。これだけで、フローのショートカットを作成するといった使い方ができます。

フローのショートカット外観は以下のようになります。

Power Automate for desktopに触れたことがない人にとって、Power Automate for desktopを起動しフローを選択して実行すること自体がハードルとなる可能性があります。この方法であればPower Automate for desktopを起動したり、選択したりすることなく、だれでも気軽かつ簡単にフローを活用できるようになりました。
フローをショートカット化することで、フォルダーに分類分けして管理しておくことも可能です。

他にも色々な活用方法が考えられそうです。ただし注意点として、外部リンクによる実行を行うには以下が必要となります。
- Power Automate for desktopの有償ライセンス
(Power Automate per user with attended RPA plan) が使用するMicrosoftライセンスに付与されている - Power Automate for desktopのバージョンが2.
21以上
3.UIセレクターの編集画面がより見やすくなりました
Power Automate for desktopでは対象を操作する際、UI要素と呼ばれる情報を使います。UI要素には操作する対象を識別するために、セレクターと呼ばれるものが設定されています。下図のように、操作対象が対象アプリケーションやWebページのどこに存在するかを特定するための構造がセレクターに取得されており、このセレクターの内容を元にPower Automate for desktopが対象を探して操作を行っています。

その特性上、対象となるアプリケーションやWebページのアップデートにより構造が変わると操作対象を見つけられなくなる恐れがあります。そのため、セレクターの内容を編集する、アップデート前後でセレクターを複数取得する、といった処理をしておくことでアップデートに影響されず処理が行えるようになります。
これまではこのセレクターの選択画面と編集画面が分かれており、複数のセレクターを編集、確認する際には非常に手間のかかる作業でした。しかし、この画面がアップデートにより画面が統合され、より効率的に編集しやすく改善されました。またセレクターを無効化できるようになり、セレクターを複数一気に取得しておいて動作を検証する、といった使い方が可能となりました。


4.SWTフレームアプリケーションでのJava自動化
Power Automate for desktopは、SWTフレームワーク上に構築されたJavaアプリおよびアプレットでJava固有のUI自動化をサポートするようになりました。これにより、より多くのJavaのアプリケーションが操作できるようになりました。
2022年7月のアップデート
1.変数グループにデータテーブルのアクションが追加
7月のアップデートにて、データテーブルのアクションとして以下のものが新たに追加されました。
- 新しいデータ テーブルを作成する
- 行をデータ テーブルに挿入する
- データ テーブル内で検索または置換する
- データ テーブル項目を更新する
- データ テーブルから行を削除する

データテーブルとは下図のように、変数に表形式

今回のアクション追加によって、これら取得したデータテーブルをフロー内で簡単に編集できるようになりました。
例えば、データテーブル内から特定の文字

「データ テーブル内で検索または置換をする」
2.RDP(リモートデスクトップ)やCitrixなど、リモート先のUI要素が取得可能に
これまで、Power Automate for desktopでは、リモートで接続した先のUI要素を取得できず、画像処理や座標といった操作で処理を行っていました。
画像処理の場合、解像度やディスプレイの拡大率が異なっていたり、他のウィンドウに対象が隠れていたりすると操作できず、座標の場合はウィンドウの位置がずれてしまうと処理に失敗する等の制約があり、処理が安定しない、調整を含めたフローの構築に時間がかかるといった、難点がありました。
7月のアップデートで新たに
ただし、2022年8月時点ではプレビュー版となっているため、不具合や今後仕様が変更される可能性がある点には注意してください。


3.新たなフローサンプルが追加されました
Power Automate for desktopには、フローを作成する例としてフローサンプルが提供されています。フローサンプルは、Power Automate for desktopのコンソール上から、
- 日時処理
- PDF自動化
- テキスト操作

4.フローの詳細が確認可能に
フローに

これまでは、フローの内容はタイトルを参考として判別する必要があり、詳細はフロー内に
ただし、フローの内容をテキストデータとして共有した場合は、詳細の内容が共有されないため、毎回編集する必要がある点には注意が必要です。
まとめ
今回はPower Automate for desktopのアップデート内容について、6月、7月分をフォーカスして解説しました。6月、7月だけでも公開されているだけで今回紹介した8つものアップデートがあり、公開されていない様々な細かい修正や改善点も存在します。小さな変化を見つけてみるのも楽しいかもしれません。
今後も不定期となりますが、アップデートの情報を順次紹介していきます。皆様のRPA開発の一助として頂ければ幸いです。