Outlook VBA - 移动到文件夹 - 正文

时间:2015-07-07 11:27:41

标签: vba outlook outlook-vba

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

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

我犯错的任何想法?

1 个答案:

答案 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