След като планирате повтаряща се среща в календара на 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


