Прескочи на основното съдържание

Как да предотвратите напомнянето на Outlook твърде рано или твърде късно?

Автор: Кели Последна промяна: 2014-10-30

Например работите от 9:00 сутринта до 6:00 часа всеки ден, но сега си записвате среща в 10:00 сутринта и добавяте напомняне за 2 часа за нея в Outlook. Това означава, че напомнянето ще работи в 8:00 сутринта преди началото на вашата работа. От друга страна, в специални случаи напомнянето може да прозвучи в полунощ. Това е доста неудобно и някои потребители на Outlook може да искат да предотвратят напомнянето на Outlook твърде рано или твърде късно. Тук ще ви представя макрос на VBA, за да го разрешите в Outlook.

Раздел Office - Активирайте редактиране и сърфиране с раздели в Microsoft Office, правейки работата лесна
Kutools за Outlook - Увеличете Outlook със 100+ разширени функции за превъзходна ефективност
Увеличете своя Outlook 2021 - 2010 или Outlook 365 с тези разширени функции. Насладете се на цялостен 60-дневен безплатен пробен период и подобрете изживяването си с имейл!

За да предотвратите напомнянето на Outlook твърде рано или твърде късно, можете да направите следното:

Стъпка 1: Натиснете бутона Друг + F11 клавиши междувременно, за да отворите прозореца на Microsoft Visual Basic за приложения.

Стъпка 2: Разширете Обекти на Microsoft Outlook в левия прозорец и поставете следния VBA макрос в ThisOutlookSession.

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 по-горе:
напомняне MaxHour = 20
напомнянеMinHour = 9

Стъпка 3: Запазете този VBA и рестартирайте вашия Microsoft Outlook.

Отсега нататък, когато създавате среща с време за напомняне за изтичане на посочения от вас работен период, ще се появи диалогов прозорец, който да ви напомни, след като щракнете върху Запазване и затваряне бутон.

Ако времето за напомняне е по-рано от указаното напомнянеMinHour, щракнете върху Да в диалоговия прозорец, той ще промени времето за напомняне и ще направи напомнянето да звучи в посочения напомнянеMinHour.

Ако времето за напомняне е по-късно от посочения напомняне MaxHour, щракнете върху Да в диалоговия прозорец, той ще промени времето за напомняне и ще ви напомни в посочения напомняне MaxHour.

Забележка: Този VBA код работи добре с Outlook 2013, но не работи с Outlook 2010 и 2007.


Най-добрите инструменти за продуктивност в офиса

Kutools за Outlook - Над 100 мощни функции, за да заредите вашия Outlook

🤖 AI Mail Assistant: Незабавни професионални имейли с AI магия - с едно щракване до гениални отговори, перфектен тон, многоезично владеене. Трансформирайте имейла без усилие! ...

📧 Автоматизиране на имейли: Извън офиса (налично за POP и IMAP)  /  График за изпращане на имейли  /  Автоматично CC/BCC по правила при изпращане на имейл  /  Автоматично пренасочване (разширени правила)   /  Автоматично добавяне на поздрав   /  Автоматично разделяне на имейлите с множество получатели на отделни съобщения ...

📨 Управление на Email: Лесно извикване на имейли  /  Блокиране на измамни имейли по теми и други  /  Изтриване на дублирани имейли  /  подробно търсене  /  Консолидиране на папки ...

📁 Прикачени файлове ProПакетно запазване  /  Партидно отделяне  /  Партиден компрес  /  Автоматично запазване   /  Автоматично отделяне  /  Автоматично компресиране ...

🌟 Магия на интерфейса: 😊 Още красиви и готини емотикони   /  Увеличете продуктивността на Outlook с изгледи с раздели  /  Минимизирайте Outlook, вместо да затваряте ...

???? Чудеса с едно кликване: Отговорете на всички с входящи прикачени файлове  /   Антифишинг имейли  /  🕘Показване на часовата зона на подателя ...

👩🏼‍🤝‍👩🏻 Контакти и календар: Групово добавяне на контакти от избрани имейли  /  Разделете група контакти на отделни групи  /  Премахнете напомнянията за рожден ден ...

Над 100 Характеристики Очаквайте вашето проучване! Щракнете тук, за да откриете повече.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations