创建 Outlook 规则后,如果您不想立即运行这些规则,而是希望在特定时间启动它们,您可以应用本文介绍的方法。
完成 Outlook 规则的编写后,您需要选择是否“立即运行此规则”。如果启用,规则将自动运行,并在 Outlook 运行时持续生效。如果不启用,则需要手动运行此规则。然而,许多用户希望规则能够在特定时间自动运行,而不是立即运行。显然,Outlook 本身并不提供此功能。因此,您需要寻找其他方法。本文将介绍一种技巧,该技巧利用带有特定提醒的任务项和 Outlook VBA 代码来实现此目的。

安排特定的 Outlook 规则在特定时间运行
- 首先,启动您的 Outlook 程序。
- 然后前往您的默认任务文件夹。
- 接下来,您需要创建带有特定提醒的任务,如下面的屏幕截图。 另外,这里还有这一步的一些注意事项。
- 首先,要创建的任务数量取决于您需要在特定时间运行的规则。
- 其次,提醒次数是指具体规则运行的具体时间。 所以在指定提醒时间时要注意。
- 第三,如果要在重复模式上运行特定规则,则需要为任务添加相应的重复。
- 完成创建新任务后,您可以按“Alt + F11”键按钮。
- 随后,您将进入 Outlook VBA 编辑器窗口。
- 此时,您需要双击左侧的“ThisOutlookSession”项目。
Public Sub Application_Reminder(ByVal Item As Object)
Dim objRules As Outlook.Rules
Dim objRule As Outlook.Rule
Set objRules = Outlook.Application.Session.DefaultStore.GetRules
If TypeOf Item Is TaskItem Then
'Refer to the subject of the specific task item
If Item.Subject = "Rule: Move Items" Then
'The corresponding specific rule
Set objRule = objRules.Item("Move Specific Items")
With objRule
.Enabled = True
.Execute ShowProgress:=True, Folder:=Session.GetDefaultFolder(olFolderInbox), IncludeSubfolders:=True
End With
MsgBox ("Move Successfully!")
ElseIf Item.Subject = "Rule: Forward Items" Then
Set objRule = objRules.Item("Forward Specific Items")
With objRule
.Enabled = True
.Execute ShowProgress:=True, Folder:=Session.GetDefaultFolder(olFolderInbox), IncludeSubfolders:=True
End With
MsgBox ("Forward Successfully!")
'You can add more as per your needs
End If
objRules.Save
End If
End Sub
- 之后,您需要签署新的 VBA 项目。
- 稍后您应该更改您的宏设置以仅启用数字签名的宏。
- 从现在开始,当特定任务的提醒弹出时,特定的规则将自动运行和工作。 具体规则运行成功后,您可能会收到如下图所示的消息。
处理偶尔出现的 Outlook 问题
由于 Outlook 容易出错,您将需要在 Outlook 数据保护上花费大量精力。 因此,明智的做法是准备一个信誉良好且经过验证的 展望修复 工具,例如 DataNumen Outlook Repair. 当您遇到严重的 Outlook 问题时,它会很有帮助。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 固定 SQL Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com


