I would like to catch an exception while executing a macro in “ExecuteMacro” of “UiPath.ExcelApplicationScope” if it occurs.
First of all, I want you to Run “Sample1”.
In this flow chart, OnElementAppear is placed on the left side in the Parallel activity, and the display of “Microsoft Visual Basic” is detected by OnElementAppearActivity.
If a robot find an element, click “End”.
Also, on the right side, “ExecuteMacro” is executed by “ExcelApplicationsScope”.
In this sample, exceptions are intentionally made to occur, so the exception is correctly caught.
Next, I want you to run “Sample2”.
In this sample, no exception occurs and a message “OK” is displayed.
Based on these, I would like to ask some questions.
(1)In “Sample2”, the “OK” message box does not appear immediately after macro execution is completed.
I think that it is because a robot waiting until OnElementAppear’s default seconds of TimeOutMS has passed, is there a way to display a message box immediately after the execution of the macro normally ends?
(2)In “Sample1”, at first glance it seems that exceptions are caught correctly.
However, if the processing of the macro does not end in 30 seconds, OnElementAppear does not work and stops while the debug screen is displayed.
Of course, setting the value of TimeOutMS long will solve once, but it always waits that time regardless of the success, very poor performance.
(3)Or can I set TimeOut on “ExecuteMacro” itself? For example, if Excel is open after 10 minutes, throw an exception.
Summarized as follows.
- When an exception occurs in ExecuteMacro, click “End”.
- Macro execution time takes about 15 minutes, but it varies depending on the situation.
- I can not modify the macro itself so as not to pop up.
Please excuse my poor English…
Thanks in advance.
Samples.zip (28.5 KB)