マクロから表示されるメッセージにあるボタン

studio

#1

メーラーにMS-OutLook(2016)を使用しています。
メールの誤送信を避ける為
メールの送信時に送信先アドレスを確認してから送信実行するマクロを作成し、使用しています。
そのマクロの動作時に、当該マクロから表示されたメッセージにボタンがあり、内容を確認し『OK』ボタンを
クリックすると、送信処理が行われる仕様となっています。
このマクロを有効にした状態で、自動化したくUIPathにて色々と試しているのですが
(自動化される状態で宛先確認機能を有効化する意味はさておき、同じようにマクロにて表示されたメッセージボックスに配置されているボタンの操作を行いたい場合もありますので)
当該ボタンをクリックしようとし色々な
アクティビティ(Click・ImageExist他)を試してみたのですが、どうしてもボタンをクリックする事が出来ませんでした。
(表示されたメッセージ画面の画像や文字列をFindImageで探そうとしても、見つける事が出来ない状況です)
回避策が有りますでしょうか?


#2

こんにちは
Parallelアクティビティは試しましたか?
Parallelアクティビティ内に、ボタンをクリックするClickアクティビティと当該マクロを実行するシーケンスを並べればいけるはずです。


#3

アドバイスありがとうございます。
質問を投稿した際に情報が不足しておりまして大変失礼いたしました。

送信実行するマクロを
このマクロはOutLookに実装されており、メール送信のアクションを起こすと
実行される仕組みです。
このマクロをUIPATH側でも実行するというご指摘になりますか?


#4

こんにちは
OutlookマクロをUiPath側で実行する必要は特にありません。
マクロ実行のトリガーがメール送信のアクションであるならば、その部分とマクロから表示されるメッセージにあるボタンを押下するアクティビティをParallelアクティビティ内に並べればいいということです。
そうすることで、Parallel内の操作が全て完了するまでParallelアクティビティ以降の実行が制御されます。
参考になりそうなものを貼っておきます。:slightly_smiling_face:


#5

ご教示ありがとうございます。
ただ、頂いた方法で試してみたのですが、やはりボタンをクリックする事が出来ませんでした。
ご指摘にある、①マクロ実行のトリガーがメール送信のアクションであるならば、その部分と
について、Parallelで組んでみたのですが、良好な結果を得る事が出来ず
やはりボタンをクリックする事が出来ませんでした。

なお、マクロはOutLook(2016クライアント)に実装されていて
UIPathの「Send Outlook Mail message」の実行により、OutLook側のVBAがキックされ、宛先確認と
送信するか(Yes or No)を確認するボタンが含まれるメッセージ画面が
表示される。
という動きとなっております。
Parallelアクティビティのスクリーンショットを添付いたします。


#6

こんにちは
ClickアクティビティをSend Outlook Mail Messageアクティビティの左側に移動させると動作しませんか?

手元でExcelのオープン時にメッセージボックスを開くファイルを作成して試した所、
Clickアクティビティが右側だと動作せず、左側にあると動作しました。


#7

ご指摘頂いた通り、Clickを左に動かしましたが、動作しませんでした。
そこで、動作をよく見ていた所、問題のYes/Noボタンが表示され始めて
1~2秒程は、タスクバーに表示されるアイコンが点滅している事に気が付き
DelayBeforに3秒待ちを設定した所、無事クリックするようになりました。
そこで、、Clickアクティビティを左側に再配置して動作確認した所
やはり期待通りの動作を行う様になりました。
そのため、DelayBeforに3秒待ちを設定し、通常通りシーケンスに並べても動作するか
確認しましたが、こちらは相変わらず動作せず。
という事で、今回の場合は
パラレルを使用し、Send MailMessageとClickを並べ、Clickの開始を数秒遅らせる
で対処する事が出来ました。
ありがとうございました。

しかし、なぜパラレルでは動作するのに、シーケンスに並べると動作しないのかは
謎のままです…→そもそも、Send MailMessage自体が終わってないから次の処理に進むことが出来ない
って事か!!
理解できました。ありがとうございました。