Answers:
对于实现此简单过滤器所需的所有这些部件,我都一目了然。相比之下,Unix procmail过滤器是如此易于使用。所有Microsoft Outlook向导都会使用通配符来进行简单筛选。尽管Microsoft默认提供的许多电子邮件过滤条件很有用,但没有什么可以比运行代码的灵活性和自定义更具优势。
Alt-F11调出VBA代码编辑器。双击ThisOutlookSession。编写您的代码。就我而言,它是在主题行上使用正则表达式,而不是将其移动到DefaultFolder,而是将其移动到子文件夹中的pst中。
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 = "(.*Abc.20.*)"
If Reg1.Test(Item.Subject) Then
Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
Item.Move MailDest
End If
End Sub
在规则下,选择“管理规则和警报...”。新规则看起来像
Apply this rule after the message arrives run Project1.ThisOutlookSession.filter
为此,对于步骤1:选择条件:只需单击下一步。单击确定确认它适用于所有消息。对于“选择操作”,选中“运行脚本”,然后单击以选择过滤器脚本,然后选择“下一步”或“完成”。对于“选择例外”,单击“下一步”或“完成”。给它起一个好名字,例如vba-filter,然后选中“启用此规则”。单击完成。由于它可以处理本地文件夹,因此当它要求确认此规则不适用于您在线或从其他设备检查的电子邮件时,请单击“确定”。单击“确定”,进入“规则和警报”对话框。