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

如何在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

火山引擎 最新活动