KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何更改 Outlook 的延迟发送默认时间?

作者Siluvia修改日期

启用延迟送达选项(即下图中的“不要早于以下时间交付”)时,邮件的默认发送时间为下午 5:00. 如果您经常加班但不想让他人察觉,就需要在发送邮件前设置延迟送达。启用该选项后,还需手动修改默认发送时间,否则邮件将在第二天下午 5:00 后才会发送。那么,有没有办法更改这个默认交付时间?

本教程为您提供一段 VBA 代码,助您轻松更改 Outlook 延迟发送邮件的默认时间。

更改 Outlook 延迟发送默认时间的步骤

使用 VBA 代码更改 Outlook 延迟发送的默认时间

您可以使用以下 VBA 代码,更改 Outlook 延迟发送选项的默认时间设置。

在下面的 VBA 代码中:

您可以分别设置“延迟发送时间”和“启用延迟发送选项的时间”这两个时间点。

例如,若您将延迟发送时间设置为上午 07:30,将延迟发送选项的自动启用时间设置为下午 5:30. 那么,在 07:30 至 17:30 之间发送的邮件将会立即发送;而在 17:30 至次日 07:30 之间发送的邮件,则会被安排在次日 07:30 后发送。

请按照以下步骤测试脚本。

1 打开 Outlook 后,同时按下 "Alt“ + “F11" 键,即可打开“Microsoft Visual Basic for Applications”窗口。

2 在“Microsoft Visual Basic for Applications”窗口中,双击“Project 1” > “Microsoft Outlook Objects” > “ThisOutlookSession”,即可打开“ThisOutlookSession (代码)”窗口。然后,将下方代码复制粘贴到该代码窗口中。

VBA 代码:更改 Outlook 延迟发送的默认时间

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by Extendoffice & EWP 20230602
  Const xDelayTime As String = "07:30:00"  'The delay delivery time of emails
  Const xCompareTime As String = "17:30:00" 'The time to enable the delay delivery option
  Dim xMail As Outlook.MailItem
  Dim xWeekday As Integer
  Dim xNowTime As String
  Dim xIsDelay As Boolean
  Dim xRet1 As Integer
  Dim xRet2 As Integer
  On Error GoTo xError
  If (Item.Class <> olMail) Then Exit Sub
  Set xMail = Item
  xWeekday = Weekday(Date, vbMonday)
  xNowTime = Format(Now, "hh:nn:ss")
  xIsDelay = False
  xRet1 = StrComp(xNowTime, xDelayTime)
  xRet2 = StrComp(xNowTime, xCompareTime)
  If xRet1 = xRet2 Then
    xIsDelay = True
  End If
  If (xRet1 = -1) And (xRet2 = -1) Then
    xMail.DeferredDeliveryTime = Date & " " & xDelayTime
  Else
    If ((xWeekday = 5) And xIsDelay) Or (xWeekday = 6) Or (xWeekday = 7) Then
      xMail.DeferredDeliveryTime = (Date + (5 - xWeekday + 3)) & " " & xDelayTime
    ElseIf xIsDelay Then
      xMail.DeferredDeliveryTime = (Date + 1) & " " & xDelayTime
    End If
  End If
Exit Sub
xError:
  MsgBox "ItemSend: " & Err.Description, , "Kutools for Outlook"
End Sub

注意

1 您可以在如下代码行调整延迟时间和自动启用延迟发送选项的时间。
"Const xDelayTime As String = "07:30:00""
"Const xCompareTime As String = "17:30:00""
2 如果在周末发送邮件,则邮件会安排在下周一 07:30 后发送。

3 保存代码后,按下 "Alt“ + "Q“ 快捷键即可关闭“Microsoft Visual Basic for Applications”窗口。

从现在起,您在 07:30-17:30 之间发送的邮件将会即时发送;如在 17:30-07:30 期间发送,邮件将安排在下一个工作日 07:30 后发送。


相关文章

更改 Outlook 全天事件的默认提醒时间
通常,Outlook 2007/2010 中全天事件的默认提醒时间为 18 小时,Outlook 2013 中为 0.5 天。有时,默认提醒时间可能与您的工作安排不一致。本文将为您介绍如何更改 Microsoft Outlook 全天事件的默认提醒时间,让您的日程管理更加灵活高效。

更改 Outlook 默认跟进时间
如您所知,在 Outlook 中为邮件添加跟进提醒时,默认跟进时间通常为下午 4:30(或根据您的工作时间设置为其他时间)。但您可能希望将默认跟进时间调整为工作时间开始时,例如上午 9:00. 本文将为您详细介绍如何更改 Outlook 的默认跟进时间。

更改 Outlook 默认归档位置
Outlook 默认会设置归档文件的保存位置。除了默认路径,您还可以自定义归档文件的保存位置。本教程将为您详细讲解如何更改 Outlook 的默认归档位置,助您轻松管理邮件归档。

更改 Outlook 默认附件保存区域
每次启动 Outlook 都要反复查找指定的附件保存位置,是否让您感到烦恼?本教程将教您如何更改默认附件保存路径。设置完成后,每次保存附件时,无论是否重启 Outlook,系统都会自动打开您指定的附件保存文件夹。

将全天事件的默认状态更改为忙碌(Busy)状态(Outlook)
默认情况下,Outlook 会将约会和会议的状态设置为“忙碌”,而全天事件则为“空闲”(见下图)。每次新建全天事件时,您都需要手动将“显示为”状态更改为“忙碌”。本文将为您介绍两种方法,帮助您将全天事件的默认“显示为”状态修改为“忙碌”。


最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook features1kutools for outlook features2

🚀 一键下载 — 即可获取全部 Office 加载项

强烈推荐:Kutools for Office(5 合 1)

一键下载五个安装包,即可同时获得 Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即点击下载!

  • 一键便捷:只需一次操作,即可下载全部五个安装包。
  • 🚀 轻松应对各类 Office 任务:随时按需安装所需插件,助您高效办公,不容错过!
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint