如果您需要防止自己在工作时间之外发送特定的电子邮件,您可以使用本文中显示的方法。 它可以让 Outlook 在您发送特定电子邮件时自动检查它是否在工作时间,并将其延迟到工作时间。
有时,您撰写和发送邮件的时间不在您的工作时间内。 在这种情况下,您可能希望将此电子邮件延迟到随后的工作时间发送。 通常,您可以使用本机功能“延迟发送”来延迟此类电子邮件。 但是,通过这种方式,您应该每次都指定交货时间。 太麻烦了。 下面给大家分享一段VBA代码,可以在你发送特定邮件时自动检测是否在工作时间内,并快速延迟到工作时间再发送。

快速延迟发送特定电子邮件,直到工作时间
- 首先,启动您的 Outlook 程序。
- 然后在出现的 Outlook 主屏幕中,您可以按“Alt + F11”键。
- 接下来,您将成功访问 Outlook VBA 编辑器。
- 之后,您需要找到并打开“ThisOutlookSession”项目。
- 随后,将以下 VBA 代码复制到该项目窗口中。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As MailItem
Dim NewSendTime As String
Dim bDelayMail As Boolean
Dim nPrompt As Integer
bDelayMail = True
If TypeOf Item Is MailItem Then
Set objMail = Item
'Work on specific emails only
'You can change the conditions as per your needs
If objMail.Recipients.Item(1).Address = "boss@datanumen.com" Then
Select Case Weekday(Date, vbMonday)
'Delay 2 days if today is Saturday
Case 6
NewSendTime = (Date + 2) & " 09:00:00"
'Delay 1 days if today is Saturday
Case 7
NewSendTime = (Date + 1) & " 09:00:00"
Case Else
If DatePart("h", Now) < 9 Then
'Delay to 9 o'clock if now is too early
NewSendTime = Date & " 09:00:00"
ElseIf DatePart("h", Now) > 18 Then
Select Case Weekday(Date, vbMonday)
'Delay 3 days if today is Friday and now is over 6 PM
Case 5
NewSendTime = (Date + 3) & " 09:00:00"
'Delay to 9 o'clock if now is before 6 PM
Case Else
NewSendTime = (Date + 1) & " 09:00:00"
End Select
Else
bDelayMail = False
End If
End Select
If bDelayMail = True And objMail.DeferredDeliveryTime = "1/1/4501" Then
'Ask if to delay sending this email
nPrompt = MsgBox("Outside Working Hours:" & vbCrLf & "Do you want to delay this email until " & NewSendTime & "?", vbYesNo + vbExclamation, "Delay Email")
If nPrompt = vbYes Then
objMail.DeferredDeliveryTime = NewSendTime
Else
objMail.DeferredDeliveryTime = "1/1/4501"
End If
End If
End If
End If
End Sub
- 稍后您将需要为该电子邮件分配一个数字证书。
- 然后更改您的 Outlook 宏设置以允许签名的宏。
- 从现在开始,每次发送符合预定义条件的邮件时,如果是在工作时间以外,您都会收到如下图的提示:
- 如果您选择“是”,Outlook 将安排在工作时间之前将其发送出去。
拯救损坏的 Outlook 文件
Outlook 因其众多的功能而赢得了很多荣誉。 然而,它仍然有一个致命的缺陷。 那就是 Outlook 容易出错和损坏。 因此,您应该定期备份您的 Outlook 文件。 它可以防止您遭受痛苦的 Outlook 数据丢失。 另外,你最好弄个强大的修复工具,比如 DataNumen Outlook Repair,这可以 修复 Outlook 几秒钟内的问题。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 中密度纤维板恢复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

