После того, как вы запланировали повторяющуюся встречу в календаре Outlook, если вы хотите удалить напоминания о встречах, приходящихся на выходные, вы можете использовать метод, представленный в этой статье.
Есть ли у вас повторяющиеся встречи в календаре Outlook? Например, вы запланировали повторяющуюся встречу каждые 4 дня. В этом случае некоторые события этого назначения будут приходиться на выходные. В этот момент напоминания об этих событиях выходного дня могут оказаться для вас бесполезными. Поэтому вы хотели бы удалить их напоминания. Ориентируясь на это требование, здесь мы представим эффективный и удобный способ.

Удалите напоминания о повторяющихся встречах в выходные дни
- В самом начале запустите приложение Outlook.
- Затем перейдите в редактор Outlook VBA с помощью клавиш «Alt + F11».
- Затем поместите следующий код VBA в проект или модуль.
Sub RemoveRemindersOfWeekendOccurrencesOfRecurringAppointments()
Dim objAppointment As Outlook.AppointmentItem
Dim objCalendar As Outlook.Folder
Dim objCalendarItems As Outlook.Items
Dim objRecurrencePattern As RecurrencePattern
Dim dStartDate, dEndDate As Date
Dim dCurrentDate, dActualTime As Date
Dim strFilter As String
Dim objFoundAppointment As Outlook.AppointmentItem
Dim objOccurrence As Outlook.AppointmentItem
Set objAppointment = Application.ActiveExplorer.Selection.Item(1)
Set objCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
Set objCalendarItems = objCalendar.Items
objCalendarItems.Sort "[Start]", False
objCalendarItems.IncludeRecurrences = True
Set objRecurrencePattern = objAppointment.GetRecurrencePattern
dStartDate = Format(objRecurrencePattern.PatternStartDate, "MM/DD/YYYY")
dEndDate = Format(objRecurrencePattern.PatternEndDate, "MM/DD/YYYY")
dCurrentDate = dStartDate
Do Until dCurrentDate >= dEndDate
If Weekday(dCurrentDate) = vbSaturday Or Weekday(dCurrentDate) = vbSunday Then
dActualTime = dCurrentDate & " " & objRecurrencePattern.StartTime
dActualTime = Format(dActualTime, "ddddd hh:mm:ss AMPM")
strFilter = "[Start] <= " & Chr(34) & dCurrentDate & " 11:59 PM" & Chr(34) & " AND [End] > " & Chr(34) & dCurrentDate & " 00:00 AM" & Chr(34) & " AND [Subject] = " & Chr(34) & objAppointment.Subject & Chr(34)
Set objFoundAppointment = objCalendarItems.Find(strFilter)
If Not objFoundAppointment Is Nothing Then
'Get the occurrence on weekends
Set objOccurrence = objRecurrencePattern.GetOccurrence(dActualTime)
'Remove the reminders
With objOccurrence
.Subject = "(C)" & objAppointment.Subject
.ReminderSet = False
.Save
End With
End If
End If
dCurrentDate = DateAdd("d", 1, dCurrentDate)
Loop
End Sub
- После этого можно закрыть окно.
- Далее выполните действия, описанные в статье «Как запустить код VBA в Outlook», чтобы добавить этот макрос на панель быстрого доступа.
- В конце концов, запустите этот макрос сейчас.
- Прежде всего, выберите одно вхождение повторяющейся встречи.
- Затем нажмите кнопку макроса на панели быстрого доступа.
- После завершения макроса напоминания о событиях, запланированных на выходные, будут удалены. Кроме того, темы будут изменены на основе кода, как показано на следующем снимке экрана:
Защита Outlook от коррупции
Как и другие распространенные файлы, такие как документ Word, рабочий лист Excel, файл данных Outlook уязвим. Таким образом, вы должны принять некоторые серьезные меры предосторожности, чтобы уменьшить вероятность повреждения Outlook. Например, вам нужно сохранить обычную резервную копию данных PST. Более того, чтобы предотвратить потерю данных, мы должны держать инструмент восстановления Outlook поблизости, например DataNumen Outlook Repair, Это в состоянии восстановить Outlook проблемы с легкостью.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая sql-повреждение и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


