Power Automate のRPA機能「UIフロー」でAdobe Photoshopを含めるタスク自動化を試してみました

f:id:noriji_m:20191216000053p:plain オルターブース アドベント 2019 16日目は、デザイナーの のりじ こと松本が担当します。 adventar.org

昨日担当だったボスから「何かおもしろいテックネタ書くよな?!」という無言のプレッシャーを受けつつ、何とかアドベントカレンダー的な面白いテック?ネタをご用意できました!w
今回はPower AutomateのRPA機能である「UIフロー」で現状どこまでできるのか?をデザイナー視点で試してみた内容です。(もちろん、ノンコーディングで!)

Power Automate の「UIフロー」とは?

今年の11月に開催された「Microsoft Ignite 2019」で、Microsoft Flow の名称が Power Automate に変更になりRPA機能である「UIフロー」が追加となりました。
RPA(ロボティックプロセスオートメーション)は、APIやコネクタを持たないアプリケーションを自動化(または一部プロセスを自動化)させる技術。
UIフローはデスクトップ版とWebアプリケーション版が提供されています。
提供当時は日本語環境では使えない状況でしたが、先日アップデートがあって日本語環境でも利用できるようになりました。やったね!

japan.flow.microsoft.com

この機能を使用すると、Windows および Webアプリケーションで繰り返し発生するタスクを自動化できますが、「UIフローはどこまでできるのか?」が気になって仕方ない…。
というわけで、今回はデスクトップ版のUIフローを利用して「Adobe Photoshopの処理を含めるタスク自動化」を試してみました。

さて、「UI フロー」を利用するには色々設定が必要です。 詳細は公式ドキュメントを参考にされてください。(日本語環境で利用する場合は最新版の「UI flows agent」をインストール必須)

docs.microsoft.com

※UIフローは現在「プレビュー」です。ご利用は自己責任&計画的に。m( )m

今回やったこと

f:id:noriji_m:20191215164306p:plain 特定のDropboxに画像が入ると「UIフロー」でAdobe Photoshop CC 2019を自動起動・画像加工、加工後の画像をDropboxに保存し、内容をツイートするというワークフローを作成しました。

f:id:noriji_m:20191215164244p:plain Power Automateの全体図はこのような感じ。
UIフローが入っているワークフローとツイートするワークフローが分かれているのは特に深い意味はありませんが、UIフローのテストをするときにツイートするワークフローを止めておきたくて分けたのでそのままに。

f:id:noriji_m:20191215164331p:plain 「UIフロー」の登録はこのような感じ。しっかりアプリ名の「Adpbe Photoshop CC 2019」と表示されて、操作を記録しています。

今回のポイント

今回は色々と工夫や設定が必要だったので、自身の忘備録も兼ねて記載しておきます。

1:Photoshopの起動はWindows10の「ショートカットキー」を利用する

スタートアップからの起動でもうまくいくこともあるんですが、失敗することが多かったです…。
なので、PhotoshopはWindows10の「ショートカットキー」を使って起動できるようにしました。 f:id:noriji_m:20191215164729p:plain 下準備として、Photoshopをショートカットキー登録。UIフローの操作記録時は、このショートカットキーで起動させるようにします。

2:Photoshopの「アクション」を利用する

Photoshopには、繰り返しの作業を自動化できる「アクション」という機能が元々あります。
今回はこの「アクション」を利用して、Photoshop内の処理を実行(画像を開く・画像の書き出し・保存)。

helpx.adobe.com

f:id:noriji_m:20191215164839p:plain

UIフローの操作記録時は、Photoshopが起動したら「アクションの再生」をクリックすることで画像処理(リサイズ)をします。処理のスクリーンショットが入るのでわかりやすい!
このように、UIフロー自体で全ての処理を無理やり記録しようとするのではなく、自動化したいアプリ自体に自動化機能があるならそれも組み合わせて使ってしまうのがポイントかな?と思いました。(最初は全て記録しようとして惨敗してた…)

3: オンプレミスデータゲートウェイの設定に注意

UIフロー(デスクトップ版)を実行させる場合、オンプレミスデータゲートウェイの設定が必須になります。
しかしながら、オンプレミスデータゲートウェイがアップデートされたタイミングでPower Automateのゲートウェイ画面で表示が出なくなる(接続できなくなる)という状態になってしまいました。
同じような状況になった方は、古い方を削除して、再インストールしてください。

docs.microsoft.com

f:id:noriji_m:20191215164924p:plain インストール時、必ず「リージョンの設定」を確認。
「インストールするリージョン」と「使用している環境のリージョン」が違うと、Power Automateのゲートウェイ画面で表示が出なくなる(接続できなくなる)状態になります!
私はムッシュ のこの記事に救われました…。さすがムッシュ!

blog.engineer-memo.com

4:UIフローの資格情報

最後に、UIフローコネクタ「Run a UI flow for desktop」について。
f:id:noriji_m:20191215165140p:plain ワークフローで利用するときに必要になる資格情報ですが、オンプレミスデータゲートウェイのときに使うO365のアカウントではなく、ローカル(PC)のログイン名&パスワードなので注意!
始め気づかず、かなりな時間ハマり、MSの吉田大貴 さんに助けていただきました。ありがとうございました!

色々と引っかかるところはありますが、クリアするとできる!
というわけで、実行結果はこちら。

f:id:noriji_m:20191215170850j:plain

アットホームな弊社の集合写真を投稿しておきました(個人的にお気に入りw)

現状のUIフローの限界って?

Photoshopの操作を「アクション」と組み合わせない場合でも、そこそこ処理の記録はできていました。 f:id:noriji_m:20191215165216p:plain このような感じ。
スクリーンショットもキチンと入っていて、これ、メッチャすごいと思います…。(ただ実行時にコケてしまうので実務向きではない)

最後に

Power AutomateのRPA機能「UIフロー(デスクトップ版)」を利用することで、Microsoft製ではないアプリ(Photoshop)の操作を含む、ローカルの作業を自動化することができました。
ただ現状では、UIフローが動いてる間は「デバイスを触らないで」という注意事項もあるので、実際に利用しているPCでこの仕組を動かすのはなかなか難しいかな?とは思います。(勝手にPhotoshopが起動して勝手に画像処理をする様子は正直気持ち悪いw)
例えば、UIフローの実行用PCを準備して、このタスクは全ておまかせ!とかするといいかもしれませんね。

大昔、私は某大手通販会社のWeb部門に所属していたことがあるのですが、そのときに大量の商品写真を画像加工(リサイズ)&1ページずつWebページ作成するという作業がありました。(ほぼ毎月ルーチン作業として発生していた)
このときに「画像がドーンって送られてきたのをサクっと自動で画像加工&Webページ作成してくれたらいいのになー?w」と部署内でよく話していたんですが、それが「誰でも実現可能にするツール」がついに現れたな!と個人的には胸アツ…。
今回の方法をもっと工夫すれば、テンプレートが決まっているWebページなら、画像加工も込みでWeb制作からアップロードまでできるようにすることは可能かな?と思っています。
技術の進歩って本当にすごいなぁと思いつつ、単純な繰り返し作業は便利なツールを使って自動化していきましょう!

さて、明日の担当は、なぜかアドベントカレンダーの当番日を勘違いする呪いにかかってしまってる木本さん。
忘れずに更新されますように!w