Excel VBAマクロのボタンが認識されづらくなった

Excelでボタンのフォームに起動するマクロを登録しています。
だいぶ安定していままでそのボタンを認識して押すことができていたのですが、
ここ1か月ほど、押すことができずにエラーになります。

例えば、セレクターは
“<uia idx=‘999’ name=‘正方形/長方形’ role=‘図形’/>”
という感じで、セレクターが変わってしまったのかとUI Explorerで再選択をしても全く同じこの通りです。

過去に問い合わせた際(https://forum.uipath.com/t/ms365-uipath/395787)に、Excelを極力使わないことをお勧めされたりもしたのですが、マクロはそのまま利用したく思っています。

ボタンを押下するのが良くないのかと、アクティビティ「マクロの実行」を利用してみましたが、そうするとそれまでボタンクリックが成功したときには成功していた、次の段階のマクロからのMsgBoxの「はい」「いいえ」の選択ボタンが押せなくなってしまいました。

1)ボタンクリック処理を絶対成功するようにする
→セレクターに問題はないので難しい
2)マクロの実行後の「はい」「いいえ」の選択ボタンを成功するようにする
→セレクターに問題はないので難しい
3)マクロの実行後の「はい」「いいえ」の選択ボタンをボタンを押す以外でExcelに認識させる
マクロで言う

Response = MsgBox(“「はい」か「いいえ」を選びます”, vbYesNo)
If Response = vbYes Then ・・・

の変数「Response」にあたる部分を外部から引数などとして与える(できるかどうかわかりませんが)

など色々考えましたが、行き詰まっております。
何かしらの打開策をお持ちの方はいらっしゃいませんでしょうか?

こんにちは

アクティビティがマクロの実行完了を待機しているので、以降のクリック等が押せないのではと思います。
以下のトピックの方法でクリックできるのではないかと思いますので、一度お試しいただけますでしょうか?

ご返信ありがとうございます。「アクティビティがマクロの実行完了を待機しているので、以降のクリック等が押せないのでは」ここは理解しつつも、
リンク先の説明がいまいち理解できないのですが、
マクロの実行はEXCELアプリケーションスコープの中で行われています。

EXCELアプリケーションスコープ
└並列
└───┬──────┐
マクロの実行 └(ボタンの)クリック

と言う入れ子にするということでしょうか?

並列の場所は中でも外でもどちらでも良いですが、
ボタンのクリックをするxamlを別ファイルにして、分離オプションONで先に呼び出すようにしてください。
その後マクロの実行を行うようにしてください。

単純に


このようにしただけでなんだかたぶんうまくいってしまいました。。。
(早すぎてクリックの目視ができなくなりました)

ボタンのクリックを別ファイルにする+分離オプションONで呼び出す、と言うことはそれが安定するのでしょうか?
参考にした 【UiPath】Excelマクロのポップアップをクリックする方法 - RPA Navi はそこまでしていないようでしたが。。。

こんにちは

マクロの実行で、並列の他のワークフローの処理もブロックされているようでしたら分離が必要ですが、問題なく動くのであれば、分離で呼ばなくても大丈夫です。

有難うございます!
ちなみに、マクロが
問1「はい」「いいえ」
問2「はい」「いいえ」
と2回聞いてくる類のものでして、その場合は左のクリックの列をシーケンスにして
左:クリック2回の連続、右:マクロを実行
で成功したようなのですが、これは想定どおりでしょうか??

(できているんだからできる、かもしれませんが。。。できるだけ安定してもらいたく。)

こんにちは

マクロが並列処理をブロックしていないようですので、問題ないと思います。

1 Like

有難うございます!解決に至ったと思います。ご回答に感謝します。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.