2017-02-02 12 views
1

すべての受信メールを読むOutlookベースのVBAコードがあります。
このコードはMailItemを使用して、送信者、件名、および添付ファイルを調べる各メールを処理します。
コードの中心には、受信トレイでSQLクエリを実行するurn:schemas機能が使用されています。
こうすると、新しいメールが届くと、そのメールだけでなく、たびに受信トレイ全体が表示されます。 (受信トレイは整理され、処理されるとアイテムは移動されます)。Outlook VBAベースのメールリスナー - メールアイテムの件名が表示されない

クエリの心は次のようになります。

Dim Filter as String 
Filter = "urn:schemas:mailheader:subject like '%That report - %'" 

Dim iMailMatch As Object 
Set iMailMatch = Inbox.items.Find(Filter) 

私がいる問題は(ときどき)マシンがロックされているとき(ログアウトしない)、マクロは新しいメールに発火するということですイベントには一致しますが、一致するメールがあっても何も見つかりません。
端末のロックを解除して新しいメールが到着すると、プロセスが起動し、以前には見られなかったメールが正常に処理/処理されます。

端末がロックされている場合にのみ問題が発生します。したがって、私はそれが信用特権の種類と関係していると考えることができます。
端末がロックされているときには正常に起動することがありますが、端末がロックされた直後にメールが到着した場合にのみ表示されます。

+0

あなたは 'NewMailExまたはItemsAdd event'を使って何をしていますか? – 0m3r

答えて

0

検索しないでください。 NewMailExイベントは、新しいアイテムのエントリIDをイベントハンドラに渡します。Namespace.GetItemFromIDを使用してアイテムを開き、次にMailItem.Subjectプロパティを読み取ります。

関連する問題