元の価格は ¥10,000 でした。¥8,000現在の価格は ¥8,000 です。
並列処理で例外的な画面を操作するPower Automate Desktopのフローです。
説明
RPAを活用する際、業務プロセスの自動化において「例外処理」は避けて通れない課題です。特に、同じ業務フローの中で時折異なる画面が表示される場合、通常のフローだけでは処理が進まなくなってしまいます。こうしたケースでは、並列処理を活用することで、例外的な画面が現れたときにもスムーズに業務を継続することが可能です。
Power Automate Desktopを用いて「並列処理で例外的な画面を操作する」方法について解説します。並列処理については、以下のページも参考にしてください。
参考:Power Automate Desktop アップデート|V2.52|2025年1月
業務の概要と課題
今回は、ある企業の業務システムを例にとります。ログイン画面を表示するとアップデートがなければ通常のログイン画面が開きます。アップデートがある場合はアップデート画面が表示され、アップデートを行ってからログイン画面へ進む形になっています。
このように、発生するかどうかが事前に確定できない画面遷移に対して、従来の逐次処理のシナリオでは対応が困難、または対応しても処理時間が長くなります。
このような課題を解決するためには、並列処理を活用した柔軟なワークフローが求められます。
Power Automate Desktopによる解決
V2.52で追加された「並列処理」を活用することで、親フローの実行中に発生する可能性のある予期しないポップアップやエラーを、並列に実行される子フローで監視・対応することができます。
サンプルフローの動作
クライアントアプリケーションの起動時にバージョンアップチェックが行われ、バージョンアップが検知されるとバージョンアップ確認の画面が表示される場合があります。このように、アプリケーションを起動してログインを行いたいのですが、たまに違う画面が出てくるオートメーションを作成する方法について解説します。フローチャートで表すと図1のようになります。
通常のログイン処理
フローを実行すると、Excelファイルが起動します。ログイン画面表示ボタンがクリックされ、アップデートがなければログイン画面が開きます(図2)。アップデート画面が表示されるかどうかはランダムに決定されます。
ログイン画面が開くとユーザーIDとパスワードが入力されログインボタンがクリックされます(図3)。
処理完了のポップアップが表示されるので、OKボタン押下でExcelファイルが閉じて、フローが終了します(図4)。
例外的な画面が表示された場合
ログイン画面表示ボタンがクリックされた後、アップデート画面がランダムに表示されます。この場合はOKボタンがクリックされます(図5)。
[並列処理サンプルアプリケーションをインストールしています]画面に遷移し、プログレスバーが進み(本当にインストールされているわけではありません。デモです)、プログレスバーが右端まで進むとOKボタンがクリックできるようになるので、OKボタンがクリックされます(図6)。
単純にプログレスバーの進捗を秒数で待機しているのではなく、OKボタンがクリックできるまでリトライしています。
OKボタンが押されると、ログイン画面が開きます(図2)。その後の処理は同じです。このように画面操作がランダムに分岐する場合でも、並列処理を行えば非常にシンプルなフローで全体を構築できます。
検証環境
- Power Automate for desktop バージョン:2.52~
- 検証OS:Windows11 Pro
- Excel:Microsoft365(バージョン2412)64ビット
ダウンロードに含まれるファイル
- 並列処理テスト__Main.txt
- 並列処理テスト__例外時_Main.txt
- 並列処理テスト.xlsm
使用方法
- 圧縮ファイルの解凍
ダウンロードされた圧縮ファイルを任意の場所に解凍してください。 - Excelファイルを配置する
フォルダーに含まれる「並列処理テスト.xlsm」を「ドキュメントフォルダー\PAD\Data」フォルダーに配置してください。配置後、「並列処理テスト.xlsm」を開き、[セキュリティの警告]メッセージが表示されている場合[コンテンツの有効化]をクリックしてください。[セキュリティの警告]ダイアログが表示され、「このファイルを信頼済みドキュメントにしますか?」と問われた場合は[はい]をクリックしてください。このドキュメントを上書き保存して閉じてください。 - フローを復元する
- 「並列処理テスト_例外時」という名前のフローを作成してください。
- メインフローに「並列処理テスト_例外時_Main.txt」の中身をコピーしてください。
- フローを保存して、フローを閉じてください。
- 「並列処理テスト」という名前のフローを作成してください。
- メインフローに「並列処理テスト_Main.txt」の中身をコピーしてください。
- 6ステップ目の[Desktopフローを実行]アクションをダブルクリックして開き、[Desktopフロー:]のドロップダウンリストから[並列処理テスト_例外時]を選択してください。[フローが完了するまで待機する]オプションが[無効]であることを確認して、[保存]をクリックしてください。
- 6ステップ目の[ウィンドウ内のテキストフィールドに入力する]アクションをダブルクリックして開き、[入力するテキスト]に「password」と入力してください(デモなので実際は何を入力しても構いません)。[保存]をクリックしてください。
- フローを保存してください。
- フロー「並列処理テスト」の方を実行してください。
動作保証ポリシーおよび著作権について
動作保証ポリシーおよび著作権についてをお読みください。