You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

新版Outlook能否重新应用已创建的规则?

新版Outlook能否重新应用已创建的规则?

当然可以重新应用已创建的规则!针对你遇到的这种批量创建规则后,因前一个规则还在运行导致后续规则无法自动执行的情况,我给你分享几个实用的解决办法:

方法一:通过Outlook界面手动触发

这是最直观的方式,适合快速操作:

  • 点击顶部菜单栏的「规则」按钮(或者进入设置,找到「邮件」>「规则」选项)
  • 在规则列表里,按住Ctrl键选中你想要重新应用的所有规则(也可以直接全选)
  • 点击列表上方的「运行规则」,选择「立即运行规则」
  • 在弹出的窗口里,选择要应用规则的目标文件夹(比如你的收件箱),确认后就能触发规则重新执行了

方法二:使用VBA脚本自动化处理

如果需要更灵活的批量操作,或者想把这个流程自动化,VBA脚本会很有用:

  1. 打开Outlook,按下Alt+F11打开VBA编辑器
  2. 在左侧的「项目」面板里,右键点击你的Outlook项目,选择「插入」>「模块」
  3. 把下面的代码粘贴到模块中:
Sub ReApplyInboxRules()
    Dim allRules As Outlook.Rules
    Dim singleRule As Outlook.Rule
    Dim inboxFolder As Outlook.Folder
    
    ' 获取默认收件箱
    Set inboxFolder = Application.Session.GetDefaultFolder(olFolderInbox)
    ' 获取当前邮箱的所有规则
    Set allRules = Application.Session.DefaultStore.GetRules
    
    ' 遍历所有启用的规则,重新应用到收件箱
    For Each singleRule In allRules
        If singleRule.Enabled Then
            ' ShowProgress:=True 会显示规则运行的进度窗口
            singleRule.Execute Folder:=inboxFolder, ShowProgress:=True
        End If
    Next singleRule
    
    MsgBox "所有启用的规则已重新应用到收件箱!", vbInformation
End Sub
  1. 按下F5运行这个宏,它会自动帮你执行所有启用的规则,完成后还会弹出提示框

如果你只想运行特定的某几个规则,可以在代码里添加判断条件,比如:

' 只运行名称包含"自动分类"的规则
If singleRule.Enabled And InStr(singleRule.Name, "自动分类") > 0 Then
    singleRule.Execute Folder:=inboxFolder, ShowProgress:=True
End If

小提醒:下次批量创建规则时,建议等前一个规则的运行进度完成(可以在Outlook右下角的通知栏查看)后,再创建下一个,这样就能避免规则无法自动执行的问题啦。

备注:内容来源于stack exchange,提问作者Jaro Loon

火山引擎 最新活动