この記事でわかること!
- Power Automate for desktopを使って、アプリ・ウィンドウの状態によって条件を分岐する方法
アプリが開いていたらアプリをフォーカス、起動していなかったら起動する。
PADでデスクトップアプリケーションを開くフローがあります。
そのフローでは、いつも新規にデスクトップアプリケーションを開いていたのですが、フロー実行時点で既にデスクトップアプリケーションを開いている場合もあり、その場合デスクトップアプリケーションを2重で開いてしまうことがありました。
特に問題はなかったのですが、気になったので下記のようにウィンドウの状態によって処理を分岐するフローを作成します。
下記のように条件分岐させます。
- 「アプリを開いている時は、既存のウィンドウをアクティブ状態にする。」
- 「アプリを開いていない時は、アプリを起動する。」
デスクトップフローの作成
フローをつくっていきます。
社内アプリケーションの替わりにテストとして「デスクトップ版LINEアプリ」をターゲットにして、LINEが開いていたらLINEのウィンドウをフォーカス状態にし、開いていなければLINEを起動する処理をつくります。
LINEのウィンドウにフォーカスしたら、LINEのUI要素をクリックします。
▲ターゲットとなるアプリを事前に開いておきます。今回の場合はLINEです。LINEをデスクトップ上に起動しておきます。あとでPADでUI要素の取得をします。
▲フローの作成方法とPADの基本的使い方はこちらで解説しています。
サブフローを作成します。このサブフローはデスクトップアプリが開かれていない時だけ呼び出します。アプリを起動する処理です。
▲フローデザイナーの上部「サブフロー」のプルダウンボタンをクリックし「新しいサブフロー」をクリックします。
▲サブフローにわかりやすい名前を付けます。今回は「Lanuch_LINE」という名前にしました。
▲「アプリケーションの実行」アクションを追加します。
パラメータ
- アプリケーションパス:LINEのアプリケーションパスを入力します。
- アプリケーション起動後:アプリケーションの読み込みを待機
- タイムアウト(秒):3
「アプリケーションの実行」アクションでエラーが発生する場合は、「エラー発生時」の設定をしておくと良いかも。
▲「エラー発生時」をクリックします。
▲「エラーが発生した場合にアクションを再試行する」をオンにします。
「ウィンドウにフォーカスする」アクション
▲UIオートメーショングループの中のWindowsの中の「ウィンドウにフォーカスする」アクションを追加します。
▲パラメータを入力します。「ウィンドウの検索モード」の設定を「ウィンドウのUI要素ごと」にしてウィンドウのプルダウンを開きます。プルダウンで展開されたところにある「UI要素の追加」をクリックします。
▲UI要素ピッカーが起動します。
▲UI要素ピッカーが開いた状態でLINEの画面を表示します。LINEのウィンドウにマウスカーソルを合わせると赤い枠線が表示されるので赤い枠線が表示された状態でCtrl+左クリックします。
▲GroupというUI要素を取得できました。GroupというUI要素のままでもいいのですがウィンドウのUI要素があるかないかの判断をしたいので、Groupの親ペインであるウィンドウのUI要素「Window LINE」を選択します。
ここもアプリの起動に時間がかかるとエラーが発生してしまうのでエラー処理を入れておきます。
▲「ウィンドウにフォーカスする」アクションの左下にある「エラー発生時」をクリックします。
▲①詳細セクションの「新しいルール」をクリックします。②サブフローの実行に「Launch_LINE」を選択します。③「フロー実行を続行する」をクリックし、④例外処理モードに「次のアクションに移動」を選択します。
▲「ウィンドウのUI要素をクリックする」アクションを追加してパラメータを入力します。
パラメータ
- UI要素:適当にUI要素を追加します。
- クリックの種類:左クリック
▲①「ウィンドウのUI要素をクリックする」アクションの左下にある「エラー発生時」をクリックして「エラーが発生した場合にアクションを再試行する」をオンにします。②「保存」をクリックして設定画面を閉じます。
フローが完成したのでフローを実行します。
まとめ
アプリのウィンドウの状態によって処理を分岐するフローを作成してみました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate for desktopのまとめ記事
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。