Skip to main content

如何更改Outlook中延遲傳送的預設時間?

Author: Siluvia Last Modified: 2025-05-13

在Outlook中啟用延遲傳送選項(如下方螢幕截圖中的「不要在之前傳送」選項)時,傳送時間預設為下午5點。假設你正在深夜工作,不希望別人知道你在加班。你需要在傳送郵件前啟用延遲傳送選項。啟用該選項後,你需要手動更改預設的傳送時間。否則,郵件將在第二天下午5點之後才會被傳送。有沒有辦法更改這個預設的傳送時間呢?

本教程提供了一段VBA代碼,幫助您更改Outlook中延遲傳送選項的預設時間。

the steps of changing the default time for delay delivery in Outlook

使用VBA代碼更改Outlook中延遲傳送的預設時間

您可以應用以下VBA代碼來更改Outlook中延遲傳送選項的預設時間。

在以下VBA代碼中:

您可以指定兩個時間:「延遲傳送時間」和「啟用延遲傳送選項的時間」。

例如,您將延遲傳送時間設定為早上7:30,並將延遲傳送選項設定為在下午5:30後自動啟用。當您在早上7:30至下午5:30之間傳送郵件時,郵件將直接發送。如果在下午5:30至次日早上7:30之間傳送郵件,則郵件將安排在次日早上7:30發送。

請按照以下步驟測試腳本。

1. 啟動您的Outlook,同時按下「Alt」+「F11」鍵以打開「Microsoft Visual Basic for Applications」窗口。

2. 在「Microsoft Visual Basic for Applications」窗口中,雙擊「Project1」>「Microsoft Outlook Objects」>「ThisOutlookSession」以打開「ThisOutlookSession (Code)」窗口,然後將以下代碼複製到此代碼窗口中。

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) 如果在週末傳送郵件,它將安排在下週一早上7:30發送。

3. 保存代碼並按下「Alt」+「Q」鍵關閉「Microsoft Visual Basic for Applications」窗口。

從現在開始,當您於早上7:30至下午5:30之間傳送郵件時,郵件將直接發送。如果在下午5:30至次日早上7:30之間傳送郵件,則郵件將安排在下一個工作日早上7:30發送。


相關文章

更改Outlook中全天事件的預設提醒時間
通常,在Outlook 2007/2010中,全天事件的預設提醒時間是18小時,在Outlook 2013中則是半天。有時候,全天事件的預設提醒時間可能不符合您的工作計劃。在此我們將介紹如何更改Microsoft Outlook中全天事件的預設提醒時間。

更改Outlook中的預設後續處理時間
眾所周知,當我們在Outlook中為郵件添加後續提醒時,預設的後續處理時間是下午4:30(或其他時間,取決於您的工作時間)。然而,您可能希望更改預設的後續處理時間,讓它在工作時間開始時提醒您,例如上午9:00。本文將向您展示如何更改Outlook中的預設後續處理時間。

更改Outlook中的預設存檔位置
默認情況下,Outlook對存檔文件有預設的位置。除了預設位置外,您還可以為存檔文件設置自己的存檔位置。在本教程中,我們將詳細向您展示如何更改Outlook中的預設存檔位置。

更改Outlook中的預設附件保存位置
每次啟動Outlook時,是否厭倦了每次都尋找您指定的附件位置?在本教程中,我們將向您展示如何更改預設的附件保存位置。之後,即使您重新啟動Outlook,每次保存附件時都會自動打開指定的附件保存文件夾。

將Outlook中的全天事件預設狀態改為忙碌
默認情況下,Outlook將約會與會議的狀態設置為“忙碌”,但全天事件則設置為“空閒”(見下方截圖)。每次創建全天事件時,您都需要手動將顯示狀態更改為“忙碌”。要將全天事件的預設顯示狀態更改為“忙碌”,本文提供了兩種方法供您選擇。