\ 楽天BLACK FRIDAYセール! /

【PAD】アプリが開いていたらフォーカス、起動してなかったらアプリを起動する。

この記事でわかること!

  • Power Automate for desktopを使って、アプリ・ウィンドウの状態によって条件を分岐する方法
目次

アプリが開いていたらアプリをフォーカス、起動していなかったら起動する。

Power Automate for desktop エラー発生時の条件分岐

PADでデスクトップアプリケーションを開くフローがあります。

そのフローでは、いつも新規にデスクトップアプリケーションを開いていたのですが、フロー実行時点で既にデスクトップアプリケーションを開いている場合もあり、その場合デスクトップアプリケーションを2重で開いてしまうことがありました。

特に問題はなかったのですが、気になったので下記のようにウィンドウの状態によって処理を分岐するフローを作成します。

下記のように条件分岐させます。

  • 「アプリを開いている時は、既存のウィンドウをアクティブ状態にする。」
  • 「アプリを開いていない時は、アプリを起動する。」

デスクトップフローの作成

じょじお

フローをつくっていきます。

STEP
ゴールの確認
Power Automate for desktop エラー発生時の条件分岐

社内アプリケーションの替わりにテストとして「デスクトップ版LINEアプリ」をターゲットにして、LINEが開いていたらLINEのウィンドウをフォーカス状態にし、開いていなければLINEを起動する処理をつくります。

LINEのウィンドウにフォーカスしたら、LINEのUI要素をクリックします。

STEP
ターゲットとなるデスクトップアプリケーションを開きます。
Power Automate for desktop エラー発生時の条件分岐

▲ターゲットとなるアプリを事前に開いておきます。今回の場合はLINEです。LINEをデスクトップ上に起動しておきます。あとでPADでUI要素の取得をします。

STEP
Power Automate for desktopを開き新規フローを作成します。

▲フローの作成方法とPADの基本的使い方はこちらで解説しています。

STEP
サブフローを作成します。
じょじお

サブフローを作成します。このサブフローはデスクトップアプリが開かれていない時だけ呼び出します。アプリを起動する処理です。

Power Automate for desktop エラー発生時の条件分岐

▲フローデザイナーの上部「サブフロー」のプルダウンボタンをクリックし「新しいサブフロー」をクリックします。

Power Automate for desktop エラー発生時の条件分岐

▲サブフローにわかりやすい名前を付けます。今回は「Lanuch_LINE」という名前にしました。

Power Automate for desktop エラー発生時の条件分岐

▲「アプリケーションの実行」アクションを追加します。

パラメータ

  • アプリケーションパス:LINEのアプリケーションパスを入力します。
  • アプリケーション起動後:アプリケーションの読み込みを待機
  • タイムアウト(秒):3

このアクションでエラーになる場合は、LINE(アプリ)の起動に時間が掛かっている可能性があります。タイムアウト時間の数字を大きくして待機時間を多くとるか、「エラー発生時 > 「エラーが発生した場合にアクションを再試行する」の設定をオンにするなどして調整すると良いかと思います。」

アプリケーションパスの簡単な調べ方はこちら!

エラーが発生したらエラー処理を入れるといいかも。
じょじお

アプリケーションの実行」アクションでエラーが発生する場合は、「エラー発生時」の設定をしておくと良いかも。

Power Automate for desktop エラー発生時の条件分岐

▲「エラー発生時」をクリックします。

Power Automate for desktop エラー発生時の条件分岐

▲「エラーが発生した場合にアクションを再試行する」をオンにします。

STEP
「ウィンドウにフォーカスする」アクションを追加します。

「ウィンドウにフォーカスする」アクション

Power Automate for desktop エラー発生時の条件分岐

UIオートメーショングループの中のWindowsの中の「ウィンドウにフォーカスする」アクションを追加します。

Power Automate for desktop エラー発生時の条件分岐

▲パラメータを入力します。「ウィンドウの検索モード」の設定を「ウィンドウのUI要素ごと」にしてウィンドウのプルダウンを開きます。プルダウンで展開されたところにある「UI要素の追加」をクリックします。

Power Automate for desktop エラー発生時の条件分岐

UI要素ピッカーが起動します。

Power Automate for desktop エラー発生時の条件分岐

▲UI要素ピッカーが開いた状態でLINEの画面を表示します。LINEのウィンドウにマウスカーソルを合わせると赤い枠線が表示されるので赤い枠線が表示された状態でCtrl+左クリックします。

ウィンドウのUI要素を取得できればよかったのですが、ウィンドウ全体を赤枠表示させることが何故かできなかったので、今回は適当にウィンドウの中の部品のUI要素を取得してから親ペインであるウィンドウのUI要素をたどることにしました。

Power Automate for desktop エラー発生時の条件分岐

▲GroupというUI要素を取得できました。GroupというUI要素のままでもいいのですがウィンドウのUI要素があるかないかの判断をしたいので、Groupの親ペインであるウィンドウのUI要素「Window LINE」を選択します。

STEP
例外処理の設定
じょじお

ここもアプリの起動に時間がかかるとエラーが発生してしまうのでエラー処理を入れておきます。

Power Automate for desktop エラー発生時の条件分岐

▲「ウィンドウにフォーカスする」アクションの左下にある「エラー発生時」をクリックします。

Power Automate for desktop エラー発生時の条件分岐

▲①詳細セクションの「新しいルール」をクリックします。②サブフローの実行に「Launch_LINE」を選択します。③「フロー実行を続行する」をクリックし、④例外処理モードに「次のアクションに移動」を選択します。

STEP
「ウィンドウのUI要素をクリックします」を追加します。
Power Automate for desktop エラー発生時の条件分岐

▲「ウィンドウのUI要素をクリックする」アクションを追加してパラメータを入力します。

パラメータ

  • UI要素:適当にUI要素を追加します。
  • クリックの種類:左クリック
Power Automate for desktop エラー発生時の条件分岐

▲①「ウィンドウのUI要素をクリックする」アクションの左下にある「エラー発生時」をクリックして「エラーが発生した場合にアクションを再試行する」をオンにします。②「保存」をクリックして設定画面を閉じます。

STEP
フローを実行します。

フローが完成したのでフローを実行します。

STEP
おわり

まとめ

じょじお

アプリのウィンドウの状態によって処理を分岐するフローを作成してみました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate for desktopのまとめ記事

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ
¥2,200 (2022/12/06 08:56時点 | Amazon調べ)
\楽天スーパーセール開催中!/
楽天市場

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

\楽天スーパーセール開催中!/
楽天市場

Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

¥2,750 (2022/12/06 08:56時点 | Amazon調べ)
\楽天スーパーセール開催中!/
楽天市場

Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次