如何在 Outlook 中快速延遲發送特定電子郵件直到工作時間

立即分享:

如果您需要阻止自己在工作時間之外發送特定電子郵件,可以使用本文中介紹的方法。 它可以讓 Outlook 在您發送特定電子郵件時自動檢查是否在工作時間,並將其延遲到工作時間。

有時,您撰寫和發送郵件的時間不在您的工作時間內。 在這種情況下,您可能希望推遲發送此電子郵件,直到隨後的工作時間。 一般情況下,您可以使用原生功能“延遲投遞”來延遲此類電子郵件。 但是,這樣一來,您每次都應該指定交貨時間。 太麻煩了。 下面給大家分享一段VBA代碼,它可以在你發送特定郵件時自動檢查是否在工作時間內,并快速延遲到工作時間發送。

在 Outlook 中快速延遲發送特定電子郵件,直至工作時間

快速延遲發送特定電子郵件直到工作時間

  1. 首先,啟動Outlook程序。
  2. 然後在出現的 Outlook 主屏幕中,您可以按“Alt + F11”鍵。
  3. 接下來您將成功訪問Outlook VBA編輯器。
  4. 之後,您需要找到並打開“ThisOutlookSession”項目。
  5. 隨後,將以下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

VBA 代碼 - 延遲發送特定電子郵件直到工作時間

  1. 稍後您將需要為此電子郵件分配數字證書。
  2. 然後更改 Outlook 宏設置以允許簽名的宏。
  3. 從現在起,每次您發送符合預定義條件的電子郵件時,如果是在工作時間以外,您都會收到如下圖所示的提示:提示下一個工作時間
  4. 如果您選擇“是”,Outlook 將安排在工作時間之前發送。

搶救損壞的Outlook文件

Outlook 因其眾多的功能而贏得了很多讚譽。 然而,它仍然有一個致命的缺陷。 也就是說 Outlook 很容易出現錯誤和損壞。 因此,您應該定期備份 Outlook 文件。 它可以防止您遭受 Outlook 數據丟失的痛苦。 另外,最好有一個強大的修復工具,比如 DataNumen Outlook Repair, 哪個行 維修展望 幾秒鐘內出現問題。

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 mdf恢復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。