以下是 Outlook 中极为常见的一种情况:
- 我在日历中添加了一个事件
- 弹出通知,提醒我有关活动的信息
- 我忽略它或直接关闭弹窗
- 稍后提醒会再次弹出,提醒我一场早已结束的会议
是否可以让所有 Outlook 提醒在日历事件发生后的一定时间后自动关闭?
答案1
乔纳森·里兹
尝试这个宏,它可能会有帮助:
Sub RemoveRemindersinSpecificTimeInterval()
Dim objReminders As Outlook.Reminders
Dim objReminder As Outlook.Reminder
Dim dSpecificTime As Date
Dim objItem
Set objReminders = Outlook.Reminders
'The following line refers to 1 day since the current time
dSpecificTime = DateAdd("d", 1, Now)
For Each objReminder In objReminders
If objReminder.NextReminderDate <= Format(dSpecificTime, "ddddd h:nn AMPM") Then
Set objItem = objReminder.Item
objItem.ReminderSet = False
objItem.Save
End If
Next
End Sub
关于“dSpecificTime”,您还可以将“现在”替换为特定的日期或时间,例如 dSpecificTime = DateAdd(“m”, 1, 10-4-2017),或 dSpecificTime = DateAdd(“h”, 2, 10-4-2017 8:30AM)。
答案2
尝试使用/cleanreminders
开关启动 Outlook。如果这提供了您想要的行为,那么您可以将此开关添加到启动 Outlook 的标准方式中。
答案3
这不是问题的确切答案,但我认为如果我们希望这个过程自动发生,它可能会很有用。因此,创建了 vbs 脚本,我们可以将其添加到任务计划程序中,每 30 分钟运行一次以清除逾期提醒。
为了自动解除逾期提醒,我们将使用可添加到任务计划程序中的 VBA 脚本。VBA 脚本将以编程方式解除提醒,并计划每 30 分钟运行一次,仅在工作日(周一至周五)运行。这将消除我们手动解除提醒的需要,并节省时间和精力。
如果你在多台设备(笔记本电脑和台式机)上使用 Outlook,则只需在任意一台设备上进行设置,因为它会通过 Outlook 同步
打开记事本或其他文本编辑器。将以下代码复制并粘贴到文本编辑器中:
Dim objApp
Dim oRem
Dim oEvent
Set objApp = CreateObject("Outlook.Application")
For Each oRem In objApp.Reminders
Set oEvent = oRem.Item
If oEvent.End <= Now Then
If oRem.IsVisible Then
oRem.Dismiss
End If
End If
Set oEvent = Nothing
Set oRem = Nothing
Next
Set objApp = Nothing
文件名:clearReminders.vbs 文件位置在我的情况下为“D:\VBA\clearReminders.vbs” 用名称保存文件,例如“clearReminders.vbs”。
任务调度流程如下
通过在 Windows 搜索栏中搜索任务计划程序或按 Windows + R,输入“taskschd.msc”,然后按回车键来打开它。
点击窗口右侧的“创建任务”。
输入任务的名称,例如“解除提醒计划程序”。
在常规选项卡安全选项块中选择“仅在用户登录时运行”
单击“触发器”选项卡,然后单击“新建”。
“选择‘每周’作为触发器,并将其设置为星期一、星期二、星期三、星期四和星期五。然后,将开始时间设置为凌晨 12:01:00,这样脚本就会从凌晨 12:31、凌晨 1:01 等每 30 分钟运行一次,以自动清除提醒。”
在“高级设置”下,选择“每隔多少次重复任务:”,然后在旁边的字段中输入“30 分钟”。
在“持续时间”下,如果您希望任务运行直到您手动停止它,请选择“无限期”。
单击“操作”选项卡,然后单击“新建”。
选择“启动程序”作为操作,然后在“程序/脚本”字段中输入“D:\VBA\clearReminders.vbs”。
您可能已将文件保存在不同的位置。
单击“确定”关闭操作设置,然后单击“确定”关闭任务设置。
您的 VBScript 现在将根据您设置的时间表从周一到周五每 30 分钟运行一次。
笔记:
1.Outlook 在某些版本中提供了此功能,但就我而言没有这样的选项,因为我们可能使用 Outlook 的批量许可证,所以没有复选框。
2.这是基本实现,如果有任何特殊情况,请告诉我。