如何防止Outlook提醒太早或太晚?
例如,您每天的工作時間是從上午9:00到下午6:00,但是現在您要在上午10:00進行約會,並在Outlook中添加2小時的提醒。 這意味著提醒將在工作開始之前的8:00生效。 另一方面,在特殊情況下,提醒可能會在午夜響起。 這非常不方便,某些Outlook用戶可能希望阻止Outlook提早或過晚提醒。 在這裡,我將介紹一個VBA宏供您在Outlook中解決。
- 自動發送電子郵件 自動CC / BCC, 自動前進 按規則; 傳送 自動回复 (不在辦公室)無需交換伺服器...
- 取得類似提醒 BCC警告 當您在密件副本清單中回覆所有內容時,以及 缺少附件時提醒 對於忘記的附件...
- 提高電子郵件效率 回覆(全部)並附上附件, 自動添加問候語或日期和時間到簽名或主題中, 回覆多封電子郵件...
- 簡化電子郵件發送 撤回電子郵件, 附件工具 (壓縮全部、自動儲存全部...)、 刪除重複項和 快速報告...
為防止Outlook提醒得太早或太晚,您可以執行以下操作:
步驟1:按下 其他 + F11 同時按鍵打開“ Microsoft Visual Basic for Applications”窗口。
步驟2:展開 Microsoft Outlook對象 在左窗格中,然後將以下VBA宏粘貼到 本次展望會議.
VBA:防止在Outlook中過早或過晚提醒
Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub
備註:您可以通過更改上面的VBA代碼中的以下參數來指定工作時間:
hinterMaxHour = 20
hinterMinHour = 9
步驟3:保存此VBA,然後重新啟動Microsoft Outlook。
從現在開始,當您在沒有指定提醒時間的情況下創建帶提醒時間的約會時,在您單擊“開始”後,將彈出一個對話框提醒您。 保存並關閉 按鈕。
如果提醒時間早於指定的提醒時間MinHour,請單擊 是 在對話框中,它將更改提醒時間,並在指定的hinterMinHour發出提醒聲音。
如果提醒時間晚於指定的提醒MaxHour,請單擊 是 在對話框中,它將更改提醒時間,並在指定的hinterMaxHour提醒您。
注意: 此VBA代碼可與Outlook 2013很好地配合使用,但不適用於Outlook 2010和2007。
最佳辦公生產力工具
Kutools for Outlook - 超過 100 種強大的功能可增強您的 Outlook
🤖 人工智慧郵件助手: 具備人工智慧魔力的即時專業電子郵件——一鍵天才回覆、完美語調、多語言掌握。輕鬆改變電子郵件! ……
📧 電子郵件自動化: 外出(適用於 POP 和 IMAP) / 安排發送電子郵件 / 發送電子郵件時按規則自動抄送/密件副本 / 自動轉送(進階規則) / 自動添加問候語 / 自動將多收件者電子郵件拆分為單獨的訊息 ...
📨 電子郵件管理: 輕鬆回憶電子郵件 / 按主題和其他人阻止詐騙電子郵件 / 刪除重複的電子郵件 / 進階搜索 / 合併資料夾 ...
📁 附件專業版: 批量保存 / 批量分離 / 批量壓縮 / 自動保存 / 自動分離 / 自動壓縮 ...
🌟 介面魔法: 😊更多又漂亮又酷的表情符號 / 使用選項卡式視圖提高 Outlook 工作效率 / 最小化 Outlook 而不是關閉 ...
👍 一鍵奇蹟: 使用傳入附件回覆全部 / 反網路釣魚電子郵件 / 🕘顯示寄件者的時區 ...
👩🏼🤝👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人 / 將聯絡人群組拆分為各組 / 刪除生日提醒 ...
超過 100特點 等待您的探索! 按此處了解更多。