Vba 如何将ItemAdd事件应用于与收件箱处于同一级别的文件夹?

Vba 如何将ItemAdd事件应用于与收件箱处于同一级别的文件夹?,vba,outlook,Vba,Outlook,我已经能够转发一封邮件,并在邮件到达我的收件箱时添加自定义文本 我需要从收件箱以外的文件夹转发邮件 我从BoxNotifications接收通知,并且我已经为这些消息设置了一个路由,以便将其定向到“BoxNotifications”文件夹。该文件夹与收件箱处于同一级别 我不明白需要做什么,即使在广泛搜索之后 我需要什么来获取进入“BoxNotifications”文件夹并随自定义文本转发的邮件 Public WithEvents objInbox As Outlook.Folder Public

我已经能够转发一封邮件,并在邮件到达我的收件箱时添加自定义文本

我需要从收件箱以外的文件夹转发邮件

我从BoxNotifications接收通知,并且我已经为这些消息设置了一个路由,以便将其定向到“BoxNotifications”文件夹。该文件夹与收件箱处于同一级别

我不明白需要做什么,即使在广泛搜索之后

我需要什么来获取进入“BoxNotifications”文件夹并随自定义文本转发的邮件

Public WithEvents objInbox As Outlook.Folder
Public WithEvents objInboxItems As Outlook.Items

Private Sub Application_Startup()
    Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
    Set objInboxItems = objInbox.Items
End Sub

Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim objForward As Outlook.MailItem

    If TypeOf Item Is MailItem Then
       Set objMail = Item

       'If it is a specific new email
       If (objMail.SenderEmailAddress = "senderemail@gmail.com") And (objMail.Subject Like "*Test*") Then

           Set objForward = objMail.Forward
           'Customize the forward subject, body and recipients
           With objForward
                .Subject = "Testing Email"
                .HTMLBody = "<HTML><BODY>Custom text added to top of email</BODY></HTML>" & objForward.HTMLBody
                .Recipients.Add ("email_forwarded_to@email.com")
                .Recipients.ResolveAll
                .Importance = olImportanceHigh
                .Send
           End With
       End If
    End If
End Sub
Public with events objInbox作为Outlook.Folder
将事件objInboxItems作为Outlook.Items公开
私有子应用程序_启动()
设置objInbox=Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
设置objInboxItems=objInbox.Items
端接头
私有子对象objInboxItems\u ItemAdd(ByVal项作为对象)
将objMail设置为Outlook.MailItem
Dim objForward As Outlook.MailItem
如果项目类型为MailItem,则
设置objMail=Item
“如果是一封特定的新电子邮件
如果(objMail.SenderEmailAddress=”senderemail@gmail.com)和(objMail.Subject,如“*Test*”),然后
设置objForward=objMail.Forward
'自定义转发主题、正文和收件人
带objForward
.Subject=“测试电子邮件”
.HTMLBody=“添加到电子邮件顶部的自定义文本”&objForward.HTMLBody
.Recipients.Add(“已转发的电子邮件”)_to@email.com")
.Recipients.ResolveAll
.重要性=低重要性高
.发送
以
如果结束
如果结束
端接头
使用)

范例


您尝试过父文件夹吗?
Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Parent.Folders("folder_name")