Як запобігти нагадуванню Outlook занадто рано чи пізно?
Наприклад, ви працюєте з 9:00 до 6:00 щодня, але зараз ви домовляєтеся про зустріч о 10:00 та додаєте нагадування про 2 години про це в Outlook. Це означає, що нагадування запрацює о 8:00 ранку до початку вашої роботи. З іншого боку, нагадування може звучати опівночі в особливих випадках. Це досить незручно, і деякі користувачі Outlook можуть захотіти запобігти нагадуванню Outlook занадто рано чи пізно. Тут я представив макрос VBA, щоб вирішити його в Outlook.
- Автоматизуйте надсилання електронних листів за допомогою Авто CC / BCC, Автоматичне пересилання вперед за правилами; відправити Автовідповідь (Поза офісом) без необхідності сервера обміну...
- Отримуйте нагадування як Попередження BCC коли ви відповідаєте всім, поки ви перебуваєте в списку прихованих копій, і Нагадати про відсутність вкладень за забуті вкладення...
- Підвищте ефективність електронної пошти за допомогою Відповісти (всім) із вкладеннями, Автоматичне додавання привітання або дати й часу до підпису чи теми, Відповісти на кілька електронних листів...
- Оптимізація електронної пошти за допомогою Відкликати електронні листи, Інструменти кріплення (Стиснути все, автоматично зберегти все...), Видалити дублікати та Швидкий звіт...
Щоб запобігти нагадуванню в Outlook занадто рано чи пізно, ви можете зробити наступне:
Крок 1: Натисніть кнопку інший + F11 тим часом відкрити вікно Microsoft Visual Basic for Applications.
Крок 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
???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP) / Розклад надсилання електронних листів / Автоматична копія/прихована копія за правилами під час надсилання електронної пошти / Автоматичне пересилання (розширені правила) / Автоматично додавати привітання / Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...
📨 Управління електронною поштою: Легко відкликайте електронні листи / Блокуйте шахрайські електронні листи за темами та іншими / Видалити повторювані електронні листи / розширений пошук / Консолідація папок ...
📁 Вкладення Pro: Пакетне збереження / Пакетне від'єднання / Пакетний компрес / Автозавантаження / Автоматичне від'єднання / Автокомпресія ...
???? Магія інтерфейсу: 😊Більше красивих і класних смайликів / Підвищте продуктивність Outlook за допомогою вкладок / Згорніть Outlook замість того, щоб закривати ...
👍 Дива в один клік: Відповісти всім із вхідними вкладеннями / Антифішингові електронні листи / 🕘Показувати часовий пояс відправника ...
👩🏼🤝👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів / Розділіть групу контактів на окремі групи / Видаліть нагадування про день народження ...
більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.