如何设置我的 Outlook,以便我在工作时间后和周末写的电子邮件会延迟并且仅在工作时间发送?
我想让自己看起来富有成效,但又能有效利用时间。这个要求太难了吗?
我可以使用规则将单条消息延迟到任意时间,最长延迟 120 分钟。有人能给我一些关于创建自定义规则以仅在工作时间发送邮件的提示吗?
提前致谢!
答案1
我搜索了一下 vba(Visual Basic for Applications)解决方案,发现了一个:
http://www.vbforums.com/showthread.php?t=574491
此解决方案适用于 Outlook 2003,但它也可能适用于较新版本的 Outlook。
编辑:
这是必须放入 Outlook 的 vba 代码。
Public Sub CheckSendTime()
Dim obj As Object
Dim Mail As Outlook.MailItem
Dim WkDay As String
Dim MinNow As Integer
Dim SendHour As Integer
Dim SendDate As Date
Dim SendNow As String
'Set Variables
SendDate = Now()
SendHour = Hour(Now)
MinNow = Minute(Now)
WkDay = Weekday(Now)
SendNow = Y
'Check if Before 8am
If SendHour < 8 Then
SendHour = 8 - SendHour
SendDate = DateAdd("h", SendHour, SendDate)
SendDate = DateAdd("n", -MinNow, SendDate)
SendNow = N
End If
'Check if after 7PM
If SendHour > 19 Then 'After 7 PM
SendHour = 32 - SendHour 'Send a 8 am next day
SendDate = DateAdd("h", SendHour, SendDate)
SendDate = DateAdd("n", -MinNow, SendDate)
SendNow = N
End If
'Check if Sunday
If WkDay = 1 Then
SendDate = DateAdd("d", 1, SendDate)
SendNow = N
End If
'Check if Saturday
'If WkDay = 7 Then
' SendDate = DateAdd("d", 2, SendDate)
' SendNow = N
'End If
'Send the Email
Set obj = Application.ActiveInspector.CurrentItem
If TypeOf obj Is Outlook.MailItem Then
Set Mail = obj
'Check if we need to delay delivery
If SendNow = N Then
Mail.DeferredDeliveryTime = SendDate
End If
Mail.Send
End If
End Sub
也许你需要调整一下时间。
答案2
如果您只是想在周末处理积压的工作,而实际上并没有实时邮件会话,请在开始发送回复之前将 Outlook 脱机。
然后当你周一回去上班的时候,上网并发送。
这还有一个额外的副作用,就是让你专注于现有的电子邮件债务,而不是让下班后的新活动打断你的思考。