Outlook VBA - 移至文件夹 - 正文

Outlook VBA - Move to folder - Body text

我尝试创建一个脚本,用于从收到的电子邮件中搜索正文和发件人姓名,如果是,则将电子邮件移动到子文件夹。

我试图将此代码添加到 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

有什么我做错的想法吗?

你的 "Item" 目前还没有设置。 如果您希望将此应用于当前打开的电子邮件,例如

Set Item=Application.ActiveExplorer.Selection.Item(1)

如果您希望遍历文件夹中的所有邮件,您需要这样做:

Set myDestFolder = myInbox.Folders("xTest")
For Each mailItem in myDestFolder.Items
'  ... do your magic
Next mailItem