我搜索了一种方式来获取Outlook中移动项目/电子邮件的事件。
我们可以使用Inspector吗? 或者也许有像itemsent或newmail这样的事件处理程序?
谢谢
更多详情:
我有4个或更多邮箱。 每个都有X个文件夹和子文件夹(其中1个是一个包含数百万个文件夹的livelink框)。 有些是普通的盒子,有些人拖着普通邮件。
我希望每次在livelink框中的文件夹上移动邮件时都会抓住。
答案 0 :(得分:3)
将项目添加到文件夹中的集合时会触发事件。例如,假设您在默认收件箱下方有一个名为“Stuff”的文件夹。每次将电子邮件移动到该文件夹时,都会触发此代码:
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Set olApp = Outlook.Application
Set Items = GetNS(olApp).GetDefaultFolder(olFolderInbox).Folders("Stuff").Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
On Error GoTo ErrorHandler
MsgBox "You moved an item into the 'Stuff' folder."
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
Function GetNS(ByRef app As Outlook.Application) As Outlook.NameSpace
Set GetNS = app.GetNamespace("MAPI")
End Function
将其粘贴到ThisOutlookSession并重新启动Outlook。每当电子邮件移动到该文件夹时,您都会看到弹出窗口。