VBA Outlook事件移动电子邮件



我搜索了一种在outlook中获取移动项目/电子邮件事件的方法。

我们可以使用检查器吗?或者有像itemsent或newmail这样的事件处理程序?

谢谢


详细信息:

我有4个或更多的邮箱。每个都有X个文件夹和子文件夹(其中1个是拥有数百万个文件夹的livelink box)。有的是普通的箱子,也有人拖普通的邮件。

我想捕捉每一封邮件在livelink box的文件夹上移动。

将项添加到文件夹中的集合时触发事件。例如,假设在默认收件箱的下面有一个名为"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。当电子邮件移动到该文件夹时,您将看到弹出

相关内容

  • 没有找到相关文章

最新更新