TryCatchでエラー発生しても例外処理が実行されず困っています。

こんにちは。

マクロフリーズ現象が発生しており、TryCatchで解決できるか
試作しているところです。

デバック実行すると次のエラーダイアログが表示された後に
Catch処理が実行されず困っています。

解決方法を教えてください。

(UiPathエラーダイアログ)
タイトル:実行を開始できません
メッセージ:キャンセル中に ID 10 のアクティビティ ‘Execute Macro’ が例外をスロー、または伝達しました。

私は、次のようなUiPathコードを作成しました。

■Try処理
Parallelアクテビティ追加して内部に以下の処理をコーディング。
(左側シーケンス処理)
・Excelファイルを開く
・マクロを実行する
(右側シーケンス処理)
・待機時間10秒
・Excelプロセスを強制終了
・System.Exceptionの例外スロー
■CatchへSystem.Exception追加して次の処理を追加
メッセージ「エラーが発生しました。」表示する。

上のコーディングをデバック実行した結果、次のように動作しました。

■動作結果

  1. 待機時間中にExcelファイルを開きマクロ実行開始。
  2. 待機時間経過後、左側シーケンス処理で
    Excelプロセス強制終了してSystem.Exception発生。
  3. 2.でExcelプロセス強制終了したため
    右側シーケンス処理でSystem.Exception発生。
    UiPathエラーダイアログ表示。

このエラーのログ情報です。

(ログ情報)
Execute Macro:リモート プロシージャコールに失敗しました。
(HRESULTからの例外:0x800706BE)
※「リモート プロシージャコールに失敗しました」はほかのプログラミング言語でも
Excelアイドル状態で強制終了した場合に発生するようです。

ここまでの情報でなにか分かりますか?
サポート宜しくお願いします。

自分で解決できました!
マクロフリーズ対策をしていたのですがなんとか解決にこぎつけることができました。

Excelプロセス強制終了によりExecute Macroアクティビティで
発生していたエラーです。

上の処理のExcelプロセスの強制終了の直前に
マクロプロセスの強制終了の処理を追加したら
エラー解消しました。

※マクロプロセスの強制終了の方法は
プロセスを強制終了アクティビティのプロセス名にマクロ名を設定します。

お騒がせ致しました。

1 Like