Excel Application Scopeアクティビティでのエラー対策
ブログを閲覧いただきありがとうございます。
UiPathロボットの開発を行っております、青柳です。
今回もExcel Application Scopeアクティビティでのエラー対策について、私が現在実践していることを書いていこうと思います。
①リトライスコープでエラー時に再実行させる
前回の投稿で上記のようなフローを組むことで、エラーを減らせると書きましたが、
Hresultからの例外などプロセス起因のエラーは前回投稿したフローでも完全に防ぐことはできませんでした。
そこで、下記のようにエラーが起こった時にExcelを開きなおし、再度処理を行わせるようにするフローを
現在は使用しています。
この方法はExcelに限らずブラウザやExcel以外のアプリケーションが応答しなくなった時にも応用できますので
ぜひ試してみてください。リトライスコープのリトライ回数とリトライの間隔はお好みで調整してください。
②複数のExcelファイルを開く必要がある場合
①の方法はプロセスをキルするため、複数のExcelファイルを処理する場合には使用し難いフローになっています。
このような場合は①のフローは使用せず、ロボット開始直後から使用するExcelファイルを開きっぱなしにしておくことをお勧めします。
やり方は簡単で、Excelアプリケーションスコープのファイルパス指定欄にファイルパスを指定し、
プロパティのブック欄にUiPath.Excel.WorkbookApplication型の変数を指定してあげるだけです。
ここに変数を指定することで、Excelアプリケーションスコープ終了後もファイルを開いたままに
することができます。
再度このファイルに処理を加える場合はExcelアプリケーションスコープをフローに追加して下記のように、
既存のブック欄に上で指定した変数を入れればOKです。この際、ファイルパス指定欄は空白でOKです。
以上の2つの方法で、最近はExcelアプリケーションスコープのエラーに悩まされることはほとんど無くなりました。試してみて使えそうでしたら、ぜひ開発に取り入れてみてください。