Как предотвратить слишком ранние или слишком поздние напоминания в Outlook?
Например, вы работаете с 9:00 до 18:00 каждый день, но сейчас вы назначаете встречу на 10:00 и добавляете к ней напоминание за 2 часа в Outlook. Это означает, что напоминание сработает в 8:00 утра, до начала вашего рабочего дня. С другой стороны, напоминание может сработать даже в полночь в некоторых случаях. Это довольно неудобно, и некоторые пользователи Outlook могут захотеть избежать слишком ранних или слишком поздних напоминаний. Здесь я представлю вам макрос VBA для решения этой проблемы в Outlook.
- Повысьте продуктивность обработки электронной почты с помощью технологии ИИ, позволяя быстро отвечать на письма, создавать новые, переводить сообщения и многое другое.
- Автоматизируйте отправку писем с помощью Авто Копии/Скрытой копии, Автоматического перенаправления по правилам; отправляйте Автоответчик (Вне офиса) без необходимости использования сервера Exchange...
- Получайте напоминания, такие как Предупреждение при ответе на электронное письмо, в котором я указан в поле BCC, а также напоминания о пропущенных вложениях...
- Улучшите эффективность работы с электронной почтой с помощью Ответа (всем) с вложениями, автоматического добавления приветствия или даты и времени в подпись или тему, ответа на несколько писем...
- Оптимизируйте работу с электронной почтой с помощью функций Отзыва писем, Инструментов вложений (Сжать все, Автосохранение всех...), Удаление дубликатов и Быстрый отчет...
Чтобы предотвратить слишком ранние или слишком поздние напоминания в Outlook, вы можете сделать следующее:
Шаг 1: Нажмите клавиши Alt + 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 выше:
reminderMaxHour = 20
reminderMinHour = 9
Шаг 3: Сохраните этот VBA-код и перезапустите Microsoft Outlook.
С этого момента, при создании встречи с временем напоминания вне указанного рабочего периода, появится диалоговое окно, которое напомнит вам об этом после того, как вы нажмете кнопку «Сохранить и закрыть».

Если время напоминания раньше указанного reminderMinHour, нажмите «Да» в диалоговом окне — это изменит время напоминания и установит его на указанное время reminderMinHour.
Если время напоминания позже указанного reminderMaxHour, нажмите «Да» в диалоговом окне — это изменит время напоминания и напомнит вам в указанное время reminderMaxHour.
Примечание: Этот код VBA хорошо работает с Outlook 2013, но не работает с Outlook 2010 и 2007.
Лучшие инструменты для повышения продуктивности работы с Office
Срочные новости: бесплатная версия Kutools для Outlook уже доступна!
Оцените обновленный Kutools для Outlook с более чем100 невероятными функциями! Нажмите, чтобы скачать прямо сейчас!
📧 Автоматизация Email: Автоответчик (Доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматически добавить приветствие / Авторазделение Email с несколькими получателями на отдельные письма ...
📨 Управление Email: Отозвать письмо / Блокировать вредоносные письма по теме и другим критериям / Удалить дубликаты / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Волшебство интерфейса: 😊Больше красивых и стильных эмодзи / Напоминание при поступлении важных писем / Свернуть Outlook вместо закрытия ...
👍 Удобные функции одним кликом: Ответить всем с вложениями / Антифишинговая Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных Email / Разделить группу контактов на отдельные / Удалить напоминание о дне рождения ...
Используйте Kutools на вашем языке – поддерживаются Английский, Испанский, Немецкий, Французский, Китайский и более40 других!


🚀 Скачайте все дополнения Office одним кликом
Рекомендуем: Kutools для Office (5-в-1)
Скачайте сразу пять установщиков одним кликом — Kutools для Excel, Outlook, Word, PowerPoint и Office Tab Pro. Нажмите, чтобы скачать прямо сейчас!
- ✅ Все просто: скачайте все пять установочных пакетов одним действием.
- 🚀 Готово для любой задачи Office: Установите нужные дополнения тогда, когда они вам понадобятся.
- 🧰 Включено: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools для PowerPoint