Power Automate DesktopでExcelを閉じてもプロセスが残る原因と対処法2021/05/27

Power Automate Desktop でアクション「Excelを閉じる」が正常終了してもExcelのプロセスが残る場合があります。
筆者が気づいた再現条件と、実際に試した対処法を紹介します。

Power Automate Desktopとは

Power Automate Desktopは、Microsoft社が提供するノーコード/ローコード プラットフォームであるPower Automateに含まれる機能の1つで、ざっくり表現すると、パソコン上で行う操作を人間に代わって自動化するツールです。ロボティック プロセス オートメーション(RPA)とも呼ばれます。
キャッチフレーズは「何でも簡単にデスクトップから自動化する」です。
2021年3月に、無料提供が開始されました。
:Power Automate Desktop(Microsoft社)
:デスクトップフローの概要(Microsoft社)

アクション「Excelの起動」のパラメーター設定次第でExcelプロセスが残る

試行錯誤した結果、筆者の環境ではアクション「Excelの起動」のパラメーター「インスタンスを表示する」に依存することがわかりました。

パラメーター「インスタンスを表示する」をOFFにするとプロセスが残らない

インスタンス表示OFF画像

この設定でExcelを起動し、アクション「Excelを閉じる」を実行するとExcelのインスタンスとプロセスがしっかりと解放されました。
この方法では「Excelのプロセスが残る」という問題自体が発生しないので、「フロー実行中に利用者がExcelを見る」というニーズがなければ、Excelインスタンスを非表示にしておくことをお勧めします。
しかしながら、Excel起動中にフローが異常終了した場合は、Excelがバックグラウンドプロセスに残ってしまうことがデメリットです。

パラメーター「インスタンスを表示する」をONにするとプロセスが残る

インスタンス表示ON画像

この設定でExcelを起動し、アクション「Excelを閉じる」を実行するとExcelのインスタンスは解放されますが、プロセスが残りました。
「フロー実行中に利用者がExcelを見る」というニーズがあれば、なんらかの方法でプロセスを終了する仕組みを実装する必要があります。

残ったExcelのプロセスを終了する

筆者の場合は、アクション「Excelを閉じる」と「プロセスを終了する」をセットで利用することにしました(下図を参照)。

スクリーンショット(Excelを閉じる、プロセスを終了する)

上の例ではプロセス名を指定してプロセスを終了させるため、Excelのプロセスが複数存在している場合でもすべて終了してしまいます。
したがって、プロセス単位に制御したい場合はプロセスIDを指定するとよいでしょう。

執筆:H

関連記事

これまでの記事

人気の記事