VBAのエラークリック

こんにちは。

エクセルを立ち上げて処理を繰り返すフローを作成しています。
その中で下記VBAのエラーが出たらOKか×をクリックしてエクセル自体を閉じて処理をしないというフローを作成したいです。
l

しかし、OKや×をアクティビティのアプリケーションのクリック、要素のクリックをフローに入れても動かなくなってしまいます。フローが終わらずにこのエラー画面の中で処理が止まってしまいます。

フローとしてはこちらです。

画像の存在を確認を除いて、条件分岐がなくてもOKや×を押下できませんでした。
また、アプリケーションの使用を除いてもできませんでした。

VBAのエラーに対応できないのでしょうか?

よろしくお願いいたします。

こんにちは

並列アクティビティをつかって

左レーンにボタンをクリックするアクティビティ
右レーンにエクセルを開くアクティビティ(Use Excel File等)

を試してみてください。
これで動作しなければ
上記のクリック部分を別ワークフローに切り出して、ワークフローファイル呼び出しアクティビティで分離プロパティをONにして試してみてください。

ご回答ありがとうございます。

ご教示頂いた通り、並列アクティビティを入れて左側にボタンをクリックを入れたのですが、動きませんでした。
また、ワークフローを呼び出しを分離にチェックを入れても動きませんでした。

エクセルがエラーによってきちんと開ききっていないとRPAが判定していないので次に進まないという認識はあるのですが、並行や分離によるワークフロー呼び出しが動いてくれないとなると他に適している方法はありますでしょうか?

どのように組まれているか、スクリーンショット等共有可能でしょうか?

ありがとうございます。

並列の右側がこちら。

左側がこちら。

フローを呼び出しの呼び出し元がこちら。

フローの呼び出し先がこちら。

以上となっております。
フローを呼び出しはエクセルファイルが開ききっていないので分離にチェックを入れてもフローを呼び出しまで行けていないような気がします。

よろしくお願いいたします。

こんにちは

少々言葉足らずでしたが、意図としては以下になります。

並列アクティビティをつかって

左レーンにワークフローファイル呼び出し(分離ON)
右レーンにエクセルを開くアクティビティ(Use Excel File等)

上記ワークフロー呼び出しで呼び出されるxaml中に
アプリケーション・ブラウザを使う-クリック

としてみてもらえますか?

excelの起動時実行マクロで、ダイアログを出すタイプのものはどうにもならないと認識しています。
EXCELアプリケーションスコープから1度も出てこないので、並列アクティビティを用意しても、動作しないです。 並列アクティビティは完全並列ではなく、「並列に1つづつシーケンスを動作させる」部品なので・・・
EXCELアプリケーションスコープを使わない対応を何か考えたほうが良いかと思われます。

もし解決策があるなら私も知りたい・・・

FYI

Isolate(分離)オプションがミソで、別プロセスとしてExecutorを立ち上げることにより
並列動作が可能です。
以下サンプルですのでお試しください。

Sample20221208-2.zip (12.9 KB)

image

すみません、てっきり「EXCELアプリケーションスコープ」の話だと勘違いしてました。ご指摘通り「EXCELアプリケーションスコープ」を使わないなら可能ですね。

Excelアプリケーションでも同様に並列動作可能です。(原理的に関係ありませんので)

Sample20221208-2v2.zip (12.7 KB)

やってみてください。
Excelアプリケーションスコープから出てこないのでパラレルは動作せず、ロボットは停止するはずです。

@minami

上記の Sample20221208-2v2.zipは、ExcelApplicationScopeの例ですが並列動作しますよ。
実行できませんか?

1 Like

大変失礼しました。EXCELのプロセスを分離するのではなく
invokeであればプロセス分離できるから、相手が何であろうと別プロセス扱いでパラレルが有効に動作するということですね!
以前この問題をuipathに問い合わせたら「そんなことできませんよ」という回答が返ってきたのでてっきりどうやっても無理なんだと思っていました。
なるほど、単なるパラレルではだめでもinvokeのプロセス分離を使えば何とかなるということですね。
ちなみにexcelアプリケーションスコープを左に配置すると動かないですね・・理屈がわかってすっきりです。大変な参考になりました。ありがとうございます。

1 Like