2019/11/16

Power AutomateでUI Flowsを動かしてみる




Microsoft Flowが新しい名称、「Power Automate」になりました。
さらにユーザーの操作を記録、自動化するRPA機能「UI Flows」もプレビューながら搭載されたので、試してみました。
Microsoft、RPA機能を搭載した「Power Automate」発表 ユーザーの操作を記録、自動化
--ITmedia
https://www.itmedia.co.jp/news/articles/1911/05/news070.html
とりあえずやってみたかったのは、Excel Onlineのセルデータを抜き出して、
Web UI Flowsに受け渡しが実行できるかを試してみました。
テストでやってみた動作としては、
・ExcelOnlineからデータを抜き出し
・Google検索する
・Google翻訳する
・Google翻訳の単語の定義の部分を抜き出して、再検索する
です。
pcexcel

一応動いたのですが、不格好なので 今後の識者の情報待ち(笑)
ざっくり設定方法をまとめます。




■UI Flowsを使う上での事前準備


まずは、UI Flowsのインストール要件やインストールを以下参照して準備
UI フローの設定 – Microsoft Docs
https://docs.microsoft.com/ja-jp/power-automate/ui-flows/setup

Power AutomateのUIフローを試してみました。--初心者備忘録
https://www.ka-net.org/blog/?p=12328

今回はWebアプリのUIフローを使います。
image

Chromeを使っての作業をやってみたいので、拡張機能である「Selenium IDE」を追加します。
image

Power Automateを使って、トリガーしたいので、
[オンプレミスデータゲートウェイ]もRPA実行したい端末にインストールします。
ゲートウェイを入れることでPower Automate端末としてAzureと連携する感じですかね。

今回ゲートウェイの名前をOPD_homeとして作成しました。
image

デフォルトはHTTPSでの通信みたいですね。
通信に必要なネットワークポートテストや、接続設定もできるようです。
image
image

ちなみに UI FlowsをPowerAutomateからコネクタするためには、Premiumである必要があります。
お試し期間もあるみたいなので、期間中に色々いじってみましょう。
image

ゲートウェイの情報は、フロー上から確認することができます。
image

ウィザードでゲートウェイと連携するUI Flowsコネクタを作成します。
今回はtestWebUIflow_homeという名称で作りました。
image

■Web UIフローを使ってWeb動作を記録する


テスト環境が整ったところで、いよいよ作成に入ります。
WebUIフローの作成・実行については以下参照
Web UI フローを作成してテストする – Microsoft Docs
https://docs.microsoft.com/ja-jp/power-automate/ui-flows/create-web

UIフローの実行
https://docs.microsoft.com/ja-jp/power-automate/ui-flows/run-ui-flow

WebUIフローは基本的は動作をレコードで記録し、変数の処理や細かな動作変更をカスタマイズする感じですね。
ドキュメントを参考にしつつ、レコードで以下の動作を記録しました。
image

上記の大枠の動作は以下のとおり
https://www.google.co.jp をひらく
・検索窓に変数 $samplevalue の値をいれる
・Enterを押す
・5秒間ポーズ
・Google翻訳をひらく
・翻訳元に変数 $samplevalue の値をいれる
・実行結果が出るまで待つ
・翻訳元の定義の内容を変数resultにいれる
・5秒間ポーズ
https://www.google.co.jp をひらく
・検索窓に変数 $result の値をいれる
・Enterを押す
・5秒間ポーズ

Selemium IDEのコマンドについては、以下を参考にしました。
Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説])
https://qiita.com/oh_rusty_nail/items/77782973b4152992017b
ポイントとしては、変数samplevalueは、PowerAutomateで
前の処理から変数を受け取る前提で設定しています。
今回はExcelから抜き出したセルデータが入ります。

store textコマンド で変数に格納するときのターゲット指定するときは、
[select target in page]ボタンを押すと便利そうです。
image

レコード記録しているWebページで取得したい箇所をクリック。対象が色付けされます。
image

Targetに値が入力されました。
image
Valueに変数resultを入力し、完了です。
変数resultを使って、別処理に使えることができます。

今回作成したUI フローは、[InputExcel]という名称で保存しました。
image

■Excelデータの準備

つづいてWeb UI フローの準備ができたので、値をとるExcelをOnline上に用意します。

PowerAutomateでは、Excelからはテーブルデータから取得するようなので、
以下のように準備しました。
image
ファイル名:samplelist.xlsx
テーブル名:sampleTable
列名:sampleRow
Excelデータも準備できたので、PowerAutomateの設定をします。

■Power Automate 作成

マイフローから新規作成ボタンを押します。
image

以下のようなフローを準備しました。
image

選択した行には、先ほどのExcelとテーブル名を指定します
image

変数の初期化には、UI Flowsに受け渡す変数を宣言します。
image

Apply to each には、以前の手順からの出力に、Excelのフローを指定します。
image

変数の設定で、名前を宣言したsamplevalue、値をsampleRowを指定します。
image

Run a UI flow for web では、作成したUI FlowsのInputExcel、
実行ブラウザを Google Chrome、入力する変数をsamplevalueとします。
image

[・・・]をクリックし、マイコネクションを選択することで、
実行する端末を指定できます。
image
今回は、先ほど作成した[testWebUIflow_home]を設定しました。

■実行

準備がすべて整ったので、右上のテストボタンから実行します。
image

フローの実行状況を見ることができます。
image

うまくいけば、Chromeが自動起動しExcel表を元に検索、
翻訳の値を取得して再検索の動作になります。

pcexcel

別端末やスマホ経由でも、
PowerAutomateを使ってゲートウェイ端末を操作することもできました。

■まとめ

・PowerAutomateを使って、ExcelOnlineからのデータの抜き出しができる
・抜き出したデータを使って、UI Flowsに変数格納し、実行できる。
・実行結果を変数に入れて、再度処理が可能となる
・取得した変数データを元に Power Automateでさらに処理させることも可能
・Power Automateによるクラウド経由で端末実行が可能となった。

Excelだけでなく、FormやTeams、OutlookOnlineなどさまざまなデータと連携させることで いろんな作業ができそうですね

スポンサーリンク

スポンサーリンク