因为要对邮件做些比较复杂的处理,Outlook的邮件规则不能满足要求,于是想寻求VBA来实现,但第一步就发生问题。
我们的邮件系统是Exchange2003/Outlook2003
根据Outlook VBA的联机文档说明,NewMailEx事件可以捕获新到的邮件,并将邮件ID的字符串保存在EntryIDCollection参数中;如果多个邮件同时到达,就会以逗号分隔的字符串形式保存在EntryIDCollection参数中。
然而我测试了以下代码,发现不管有几个邮件同时到达,EntryIDCollection参数都只保存了一个邮件ID。这是为什么呢?
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
MsgBox EntryIDCollection
End Sub
我将联机文档中的示例代码原封不动的贴过来测试了一下,同样发现当多个邮件同时到达时,程序却只能处理一个邮件。