並列処理で例外的な画面を操作する

セール

元の価格は ¥10,000 でした。現在の価格は ¥8,000 です。

並列処理で例外的な画面を操作するPower Automate Desktopのフローです。

説明

RPAを活用する際、業務プロセスの自動化において「例外処理」は避けて通れない課題です。特に、同じ業務フローの中で時折異なる画面が表示される場合、通常のフローだけでは処理が進まなくなってしまいます。こうしたケースでは、並列処理を活用することで、例外的な画面が現れたときにもスムーズに業務を継続することが可能です。

Power Automate Desktopを用いて「並列処理で例外的な画面を操作する」方法について解説します。並列処理については、以下のページも参考にしてください。

参考:Power Automate Desktop アップデート|V2.52|2025年1月

業務の概要と課題

今回は、ある企業の業務システムを例にとります。ログイン画面を表示するとアップデートがなければ通常のログイン画面が開きます。アップデートがある場合はアップデート画面が表示され、アップデートを行ってからログイン画面へ進む形になっています。

このように、発生するかどうかが事前に確定できない画面遷移に対して、従来の逐次処理のシナリオでは対応が困難、または対応しても処理時間が長くなります。

このような課題を解決するためには、並列処理を活用した柔軟なワークフローが求められます。

Power Automate Desktopによる解決

V2.52で追加された「並列処理」を活用することで、親フローの実行中に発生する可能性のある予期しないポップアップやエラーを、並列に実行される子フローで監視・対応することができます。

サンプルフローの動作

クライアントアプリケーションの起動時にバージョンアップチェックが行われ、バージョンアップが検知されるとバージョンアップ確認の画面が表示される場合があります。このように、アプリケーションを起動してログインを行いたいのですが、たまに違う画面が出てくるオートメーションを作成する方法について解説します。フローチャートで表すと図1のようになります。

図1:並列処理のフローチャート
通常のログイン処理

フローを実行すると、Excelファイルが起動します。ログイン画面表示ボタンがクリックされ、アップデートがなければログイン画面が開きます(図2)。アップデート画面が表示されるかどうかはランダムに決定されます。

図2:ログイン画面

ログイン画面が開くとユーザーIDとパスワードが入力されログインボタンがクリックされます(図3)。

図3:ログイン画面の操作

処理完了のポップアップが表示されるので、OKボタン押下でExcelファイルが閉じて、フローが終了します(図4)。

図4:メンテナンスを失敗した場合のCSVファイルイメージ
例外的な画面が表示された場合

ログイン画面表示ボタンがクリックされた後、アップデート画面がランダムに表示されます。この場合はOKボタンがクリックされます(図5)。

図5:アップデートがあることを知らせる画面

[並列処理サンプルアプリケーションをインストールしています]画面に遷移し、プログレスバーが進み(本当にインストールされているわけではありません。デモです)、プログレスバーが右端まで進むとOKボタンがクリックできるようになるので、OKボタンがクリックされます(図6)。

単純にプログレスバーの進捗を秒数で待機しているのではなく、OKボタンがクリックできるまでリトライしています。

図6:インストール画面

OKボタンが押されると、ログイン画面が開きます(図2)。その後の処理は同じです。このように画面操作がランダムに分岐する場合でも、並列処理を行えば非常にシンプルなフローで全体を構築できます。

検証環境

  • Power Automate for desktop バージョン:2.52
  • 検証OS:Windows11 Pro
  • Excel:Microsoft365(バージョン2412)64ビット

ダウンロードに含まれるファイル

  • 並列処理テスト__Main.txt
  • 並列処理テスト__例外時_Main.txt
  • 並列処理テスト.xlsm

使用方法

  1. 圧縮ファイルの解凍
    ダウンロードされた圧縮ファイルを任意の場所に解凍してください。
  2. Excelファイルを配置する
    フォルダーに含まれる「並列処理テスト.xlsm」を「ドキュメントフォルダー\PAD\Data」フォルダーに配置してください。配置後、「並列処理テスト.xlsm」を開き、[セキュリティの警告]メッセージが表示されている場合[コンテンツの有効化]をクリックしてください。[セキュリティの警告]ダイアログが表示され、「このファイルを信頼済みドキュメントにしますか?」と問われた場合は[はい]をクリックしてください。このドキュメントを上書き保存して閉じてください。
  3. フローを復元する
    1. 「並列処理テスト_例外時」という名前のフローを作成してください。
    2. メインフローに「並列処理テスト_例外時_Main.txt」の中身をコピーしてください。
    3. フローを保存して、フローを閉じてください。
    4. 「並列処理テスト」という名前のフローを作成してください。
    5. メインフローに「並列処理テスト_Main.txt」の中身をコピーしてください。
    6. 6ステップ目の[Desktopフローを実行]アクションをダブルクリックして開き、[Desktopフロー:]のドロップダウンリストから[並列処理テスト_例外時]を選択してください。[フローが完了するまで待機する]オプションが[無効]であることを確認して、[保存]をクリックしてください。
    7. 6ステップ目の[ウィンドウ内のテキストフィールドに入力する]アクションをダブルクリックして開き、[入力するテキスト]に「password」と入力してください(デモなので実際は何を入力しても構いません)。[保存]をクリックしてください。
    8. フローを保存してください。
    9. フロー「並列処理テスト」の方を実行してください。

動作保証ポリシーおよび著作権について

動作保証ポリシーおよび著作権についてをお読みください。