我尝试创建一个脚本,从传入的电子邮件中搜索正文文本和发件人姓名,如果是,则将电子邮件移动到子文件夹。
我尝试将此代码添加到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
我犯错的任何想法?
答案 0 :(得分:0)
目前尚未设置“项目”。 如果您希望将其应用于当前打开的电子邮件,则可以是这样的。
Set Item=Application.ActiveExplorer.Selection.Item(1)
如果您希望遍历文件夹中的所有邮件,则需要执行以下操作:
Set myDestFolder = myInbox.Folders("xTest")
For Each mailItem in myDestFolder.Items
' ... do your magic
Next mailItem