メール受信イベント (NewMailEx)
calendar_today
NewMailEx
このイベントは、Outlook が受信したすべてのアイテムについて発生する。
アイテムの種類はメールに限らず、例えば、MailItem, MeetingItem, SharingItem 等が該当する。
引数の EntryIDsCollection
が受信した Item の ID なので、Item オブジェクトを取得する場合は、NameSpace.GetItemFromID
メソッドを使用する。
当メソッドは、一度に複数アイテムを受信した場合に、受信したアイテムの件数分並列で実行されることも考えられる。 ただ VBA はマルチスレッドには対応していないはずなので、1件目の処理中に2件目の受信イベントが発生した場合は、1件目が中断されるか2件目が実行されないかのどちらかになると思う。 そのため、NewMailEx をトリガーとしたい場合は、受信したアイテムのIDをどこかに保存する程度にとどめておいて、別途本当に行いたい処理を起動するような仕組みにした方がいい。
Exchange Server account を使っている場合、当メソッドは Outlook 起動中にサーバーにメッセージが届いたときのみ発生する。 Outlook が起動していない間にサーバーに届いたメッセージについては、Outlook に同期されても NewMailEx イベントが発生しない。