【问题标题】:Run code when new email comes to any subfolder in a Shared Mailbox当新电子邮件到达共享邮箱中的任何子文件夹时运行代码
【发布时间】:2022-10-07 21:44:32
【问题描述】:

我想在任何新电子邮件到达特定共享邮箱时运行代码。

当电子邮件到达 INBOX 文件夹时触发该事件。
如果新电子邮件直接发送到其子文件夹(例如 shared@mailbox.com/Inbox/subfolder1),则不会触发该事件。

如果收件箱中的任何子文件夹收到新电子邮件,我应该更改什么以便代码运行?

邮箱有很多子文件夹。此外,它们的结构可能会发生变化。

Option Explicit
Private WithEvents mtFolder As Outlook.Folder 
Private WithEvents mtItems As Outlook.Items
  

Private Sub mtItems_ItemAdd(ByVal Item As Object)
  Debug.Print "XXX" 
  'my CODE
End Sub


Private Sub Application_Startup()
    Dim Ns As Outlook.NameSpace
    Set Ns = Application.GetNamespace("MAPI")
    Dim objOwner
    Set objOwner = Ns.CreateRecipient("shared@mailbox.com")
    objOwner.Resolve
    If objOwner.Resolved Then
        Set mtFolder = Ns.GetSharedDefaultFolder(objOwner, olFolderInbox)
        Set mtItems = mtFolder.Items
    End If
  
    Set Ns = Nothing
    Exit Sub
eh:
End Sub

【问题讨论】:

标签: vba outlook


【解决方案1】:

修改启动()

Set mtItems = mtFolder.Folders("subfolder1").Items

【讨论】:

  • 谢谢,但不幸的是它不能解决我的问题。邮箱有很多子文件夹。此外,它们的结构可能会发生变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-21
  • 2020-12-16
  • 2022-08-20
相关资源
最近更新 更多