Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

UiPath Excelアプリケーションスコープ内のエラースクリーンショット取得方法について

どうも、夢ノ島です。

UiPathでExcelの自動化をするときにExcelアプリケーションスコープはよく登場すると思います。
そこで問題になるのは

Excelアプリケーションスコープ内でエラーになった場合、TryCatchで囲んでいても、Catch部に入ったときにはExcelが閉じてしまっているため、エラー状況をキャプチャ・スクリーンショット取得できない

という問題です。

例えば、Excelを開いて色を塗るボタンを押下するワークフローがあったとします。

ExcelCap1.png

このボタンが、メニューバーが非表示だったり、ウィンドウ幅が狭かったりと、見つけられなかったとします。

Excel.png
こんな感じに

この見つけられなかった状況のスクリーンショットを撮るために、Catch部にスクリーンショットを撮るアクティビティを置いてみました。

ExcelCap2.png

さて、この結果どうなるでしょう?
取れたキャプチャがこちら

20200630082358.png

というExcelと関係ない後ろで開かれていた画面のスクリーンショットを取得してしまいました。

これを解消するためには、Excelアプリケーションスコープのワークブック出力変数で変数を出力して操作することでスクリーンショット取得が可能になります

wbtes.png

こんな感じでWorkbookApplication変数を出力してやると

20200630083437.png

ちゃんと撮れるようになりましたー!!
(WorkBookApplication変数を出力すると、Excelアプリケーションスコープを出ても自動的に閉じなくなるようです。

ただしこの状態のままだとワークブックが開いたままになりExcelプロセスが残ってしまう原因にもなるので、
ブックを閉じるアクティビティを入れておいた方が安心かもしれませんね。

wbcatch.png

おしまい

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away