Outlookメール受信が完了するまで待つ方法について

現在、Outlookの最新メール情報を全件取得する処理を作成しています。

最新のメール情報を取得するために、Send hotkeyでF9(メール送受信)を押下させた後、GetOutlook.MailMessageで情報を取得しようと試みています。

しかし、F9押下してから大量のメールを全て受信完了するまでに若干の時間を要するからか、初回の動作時にはGetOutlook.MailMessageで最新の全メール情報を取得できない状況です。

Outlookメール受信が完了するまで待つ方法について、ご存知の方がいらっしゃいましたらご教示いただけますと大変助かります。

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

@sonata

やったことはないですが、パッと思いつくのは、 Outlookの送受信オプションに進捗度の表示があるので、このあたりでElement existなり、text existなりして、判断するのはどうでしょうか?

1 Like

ご回答ありがとうございます。
UIエクスプローラーで対象を認識できるかどうか確認した上で、Wait Element appear等を用いた汎用的かつ安定的な処理が作れないか試行錯誤してみたいと思います。

1 Like

はじめまして。

回答重複しますが、

  1. 「すべてのフォルダーが最新の状態です。」の要素を取得する。
  2. 送受信時に1.の左隣に表示される「送受信中」の要素を取得する。

あたりで、最新状態かを判断できそうです。
image

1 Like

ご回答ありがとうございます。
UIエクスプローラーにて当該項目を認識できた為、ひとまずの試作版は完成させることができております。

WindowsおよびOfficeのバージョンアップによる影響を受けない実装を目指したいと考えているため、引き続き検証や試行錯誤を行ってみます。