如何防止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,請單擊 Permium Partner 在對話框中,它將更改提醒時間,並在指定的hinterMinHour發出提醒聲音。
如果提醒時間晚於指定的提醒MaxHour,請單擊 Permium Partner 在對話框中,它將更改提醒時間,並在指定的hinterMaxHour提醒您。
注意: 此VBA代碼可與Outlook 2013很好地配合使用,但不適用於Outlook 2010和2007。
最佳辦公生產力工具
突發新聞:Kutools for Outlook 發布 免費版本!
體驗全新的Kutools for Outlook 免費版本擁有 70 多個令人難以置信的功能,您可以永遠使用! 點擊立即下載!
🤖 Kutools人工智慧 : 使用先進的人工智慧技術輕鬆處理電子郵件,包括回覆、總結、優化、擴展、翻譯和撰寫電子郵件。
📧 電子郵件自動化: 自動回覆(適用於 POP 和 IMAP) / 安排發送電子郵件 / 發送電子郵件時按規則自動抄送/密件副本 / 自動轉送(進階規則) / 自動添加問候語 / 自動將多收件者電子郵件拆分為單獨的訊息 ...
📨 電子郵件管理: 撤回電子郵件 / 按主題和其他人阻止詐騙電子郵件 / 刪除重複的電子郵件 / 進階搜索 / 合併資料夾 ...
📁 附件專業版: 批量保存 / 批量分離 / 批量壓縮 / 自動保存 / 自動分離 / 自動壓縮 ...
🌟 介面魔法: 😊更多又漂亮又酷的表情符號 / 當重要電子郵件到來時提醒您 / 最小化 Outlook 而不是關閉 ...
👍 一鍵奇蹟: 使用傳入附件回覆全部 / 反網路釣魚電子郵件 / 🕘顯示寄件者的時區 ...
👩🏼🤝👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人 / 將聯絡人群組拆分為各組 / 刪除生日提醒 ...
只需單擊即可立即解鎖 Kutools for Outlook -永久免費。不要等待,立即下載並提高您的效率!