Excel Application Scopeアクティビティでのエラー対策

 

ブログを閲覧いただきありがとうございます。
UiPathロボットの開発を行っております、青柳です。

今回もExcel Application Scopeアクティビティでのエラー対策について、私が現在実践していることを書いていこうと思います。

①リトライスコープでエラー時に再実行させる


前回の投稿で上記のようなフローを組むことで、エラーを減らせると書きましたが、
Hresultからの例外などプロセス起因のエラーは前回投稿したフローでも完全に防ぐことはできませんでした。

そこで、下記のようにエラーが起こった時にExcelを開きなおし、再度処理を行わせるようにするフローを
現在は使用しています。

この方法はExcelに限らずブラウザやExcel以外のアプリケーションが応答しなくなった時にも応用できますので
ぜひ試してみてください。リトライスコープのリトライ回数とリトライの間隔はお好みで調整してください。

 

②複数のExcelファイルを開く必要がある場合

①の方法はプロセスをキルするため、複数のExcelファイルを処理する場合には使用し難いフローになっています。

このような場合は①のフローは使用せず、ロボット開始直後から使用するExcelファイルを開きっぱなしにしておくことをお勧めします。

やり方は簡単で、Excelアプリケーションスコープのファイルパス指定欄にファイルパスを指定し、
プロパティのブック欄にUiPath.Excel.WorkbookApplication型の変数を指定してあげるだけです。

ここに変数を指定することで、Excelアプリケーションスコープ終了後もファイルを開いたままに
することができます。

再度このファイルに処理を加える場合はExcelアプリケーションスコープをフローに追加して下記のように、
既存のブック欄に上で指定した変数を入れればOKです。この際、ファイルパス指定欄は空白でOKです。

以上の2つの方法で、最近はExcelアプリケーションスコープのエラーに悩まされることはほとんど無くなりました。試してみて使えそうでしたら、ぜひ開発に取り入れてみてください。