将传入的电子邮件移动到规则中使用RegEx的文件夹

时间:2016-08-25 18:03:51

标签: vba outlook outlook-vba

我正在尝试使用正则表达式通过查看主题行来过滤传入的消息,如果它包含6个连续数字,则将其移动到特定文件夹。

我在网上发现了一个我试图修改的脚本。

我想将这些电子邮件放在名为“AMEX”的文件夹中,该文件夹是主收件箱的subfolder

Sub filter(Item As Outlook.MailItem)
    Dim ns As Outlook.NameSpace
    Dim MailDest As Outlook.Folder

    Set ns = Application.GetNamespace("MAPI")
    Set Reg1 = CreateObject("VBScript.RegExp")

    Reg1.Global = True
    Reg1.Pattern = "([\d][\d][\d][\d][\d][\d])"
    If Reg1.Test(Item.Subject) Then
        Set MailDest = ns.Folders("Inbox").Folders("AMEX")
        Item.Move MailDest
    End If
End Sub

2 个答案:

答案 0 :(得分:4)

您的问题在于文件夹名称 替换Set MailDest = ns.Folders(“收件箱”)。文件夹(“AMEX”)

这一行

Set MailDest = ns.Folders("enteryouraccountname@yourhost.com").Folders("Inbox").Folders("AMEX")

并且不要忘记输入您的帐户名称

答案 1 :(得分:2)

您也可以这样设置。

Set MailDest = ns.GetDefaultFolder(olFolderInbox).Folders("AMEX")

GetDefaultFolder Method

相关问题