每次新邮件到达outlook时,我都会尝试运行一个函数。我一直在做一些搜索,但每次收到电子邮件时我都无法找到解雇代码的方法。我可以使用新的邮件活动吗?
我为它添加了一个简单的MsgBox
,以便能够查看事件是否正在触发,但它似乎没有起作用。我将此代码放在ThisOutlookSession
模块中。任何顾客?这是我的代码。
Public WithEvents myOlApp As Outlook.Application
Sub Initialize_handler()
Set myOlApp = CreateObject("Outlook.Application")
End Sub
Private Sub myOlApp_NewMail()
Dim myExplorers As Outlook.Explorers
Dim myFolder As Outlook.MAPIFolder
Dim x As Integer
Set myExplorers = myOlApp.Explorers
Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
If myExplorers.Count <> 0 Then
For x = 1 To myExplorers.Count
On Error GoTo skipif
If myExplorers.Item(x).CurrentFolder.Name = "Inbox" Then
MsgBox ("Test")
myExplorers.Item(x).Display
myExplorers.Item(x).Activate
Exit Sub
End If
skipif:
Next x
End If
On Error GoTo 0
myFolder.Display
End Sub
答案 0 :(得分:1)
尝试放置:
Private Sub Application_NewMail() MsgBox "New mail" End Sub
在“ThisOutlookSession”中
答案 1 :(得分:0)
MSDN上有一个很好的示例,展示了当新邮件到达时如何显示收件箱(使用Outlook.Explorers
)。您可以很容易地为自己的程序调整它。