【发布时间】:2020-06-30 19:36:06
【问题描述】:
我尝试创建一个脚本,从收到的电子邮件中搜索正文和发件人姓名,如果为真,则将电子邮件移动到子文件夹。
我尝试将此代码添加到 ThisOutlookSession 但它不起作用。
Public Sub MailtoFolder(Item As Outlook.MailItem)
Dim myNameSpace As Outlook.NameSpace
Dim myInbox As Outlook.MAPIFolder
Dim myDestFolder As Outlook.MAPIFolder
Set myNameSpace = Application.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myDestFolder = myInbox.Folders("xTest")
If InStr(Item.Body, "Test123") > 0 And Item.SenderName = "Jon" Then
Item.Move myDestFolder
End If
Set myDestFolder = Nothing
Set myInbox = Nothing
Set myNameSpace = Nothing
End Sub
有什么想法我做错了吗?
【问题讨论】:
-
您确实意识到您可以在 Outlook 中创建规则,它会扫描收到的邮件,然后在邮件到达您的主收件箱之前将电子邮件移动到特定的子文件夹?
-
你遇到了什么错误,执行到了什么程度?你有没有设置断点来调试?
-
我愿意,但您不能添加诸如“电子邮件正文不包含特定单词”之类的规则。此外,一旦上面的代码正常工作,我想添加更多条件。
-
我没有收到错误。它正在运行,但什么也没发生。当我设置断点 Item.Body = "" 我不知道为什么