【发布时间】:2017-08-17 12:11:52
【问题描述】:
我有以下代码可以对收件箱中通过 Outlook 收到的每封带有特定主题的电子邮件执行某些操作。它可以工作,但如果多封电子邮件同时到达(即当 Outlook 重新查询我的电子邮件地址所基于的服务器时),它只会在最近收到的一封上运行以下代码。有什么建议么?
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Sub Items_ItemAdd(ByVal item As Object)
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
If InStr(Msg.SentOnBehalfOfName, "name") <> 0 Then
'Do Something
End If
End If
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
【问题讨论】: