如何在Outlook 2016中设置每日特定时间的当日全日程提醒弹窗
没问题!Outlook 2016本身没自带「每日当日日程汇总提醒」的功能,但咱们可以用VBA脚本+重复日历事件的组合搞定,步骤超清晰,跟着做就行:
方法:自动弹出当日日程汇总提醒
1. 打开Outlook的VBA编辑器
- 打开Outlook,按下
Alt + F11调出VBA编辑器。 - 在左侧「项目」面板里,找到你Outlook账户对应的文件夹(通常是
Project1下的Microsoft Outlook Objects),右键点击它,选择插入 > 模块。
2. 粘贴VBA脚本
把下面的代码复制粘贴到新建的模块里:
Sub DailyScheduleReminder() Dim objCalendar As Folder Dim objItems As Items Dim objItem As Object Dim strReminderText As String Dim dtToday As Date ' 锁定今日日期范围(0点到次日0点前) dtToday = Date Set objCalendar = Application.Session.GetDefaultFolder(olFolderCalendar) ' 筛选当日所有日程 Set objItems = objCalendar.Items objItems.IncludeRecurrences = True objItems.Sort "[Start]" Set objItems = objItems.Restrict("[Start] >= '" & Format(dtToday, "ddddd hh:mm AMPM") & "' AND [Start] <= '" & Format(DateAdd("d", 1, dtToday), "ddddd hh:mm AMPM") & "'") ' 拼接提醒文本 strReminderText = "今日日程汇总:" & vbCrLf & vbCrLf If objItems.Count = 0 Then strReminderText = strReminderText & "今日暂无安排!" Else For Each objItem In objItems strReminderText = strReminderText & "● " & objItem.Subject & " - " & Format(objItem.Start, "hh:mm") & " 至 " & Format(objItem.End, "hh:mm") & vbCrLf Next objItem End If ' 弹出汇总窗口 MsgBox strReminderText, vbInformation, "当日日程提醒" End Sub
3. 创建重复触发的日历事件
- 回到Outlook主界面,新建一个日历事件:
- 主题设为「每日日程汇总触发」(这个只是触发用,不会出现在汇总列表里)
- 开始时间设为每天上午9点,结束时间随便设个短时长(比如9:05)
- 点击重复周期,设置为「每天」重复,无结束日期
- 一定要把这个事件的提醒设置为开始前0分钟(到点就触发脚本)
4. 绑定脚本到触发事件
- 保存刚才的日历事件,找到它后右键点击 > 分配宏
- 在弹出的窗口里选择我们刚创建的
DailyScheduleReminder宏,点击确定。
搞定!之后每天上午9点,这个触发事件的提醒会自动运行脚本,弹出包含当日所有日程的汇总窗口。
小提示
- 要确保Outlook宏功能已启用:打开Outlook选项 > 信任中心 > 信任中心设置 > 宏设置,选择启用所有宏(如果担心安全,也可以选「签署的宏」,但需要给脚本签名,步骤会稍复杂)
- 重复日程也会被自动包含,代码里已经设置了
IncludeRecurrences = True - 想改提醒时间?直接编辑那个重复的触发事件就行。
内容的提问来源于stack exchange,提问作者Unapedra




