După ce programați o întâlnire recurentă în calendarul dvs. Outlook, dacă doriți să eliminați mementourile aparițiilor care se încadrează în weekend, puteți utiliza metoda introdusă în acest articol.
Aveți întâlniri recurente în calendarul Outlook? De exemplu, ați programat o întâlnire recurentă care are loc la fiecare 4 zile. În acest caz, unele apariții ale acestei întâlniri ar cădea în weekend. În acest moment, mementourile acestor evenimente din weekend pot fi inutile pentru tine. Prin urmare, doriți să eliminați mementourile acestora. Concentrându-ne pe această cerință, aici vom introduce o modalitate eficientă și convenabilă.

Eliminați mementourile pentru evenimentele de weekend ale unei întâlniri recurente
- De la bun început, lansați aplicația Outlook.
- Apoi, accesați editorul Outlook VBA prin tastele „Alt + F11”.
- Apoi, introduceți următorul cod VBA într-un proiect sau modul.
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
- După aceea, puteți închide fereastra.
- Ulterior, urmați pașii indicați în articolul „Cum să rulați codul VBA în Outlook” pentru a adăuga această macrocomandă la Bara de instrumente Acces rapid.
- În cele din urmă, rulați această macrocomandă acum.
- În primul rând, selectați o apariție a întâlnirii recurente.
- Apoi, faceți clic pe butonul macro din Bara de instrumente Acces rapid.
- După finalizarea macrocomenzii, mementourile aparițiilor programate în weekend vor fi eliminate. De asemenea, subiectele vor fi modificate pe baza codului, cum ar fi următoarea captură de ecran:
Protejați Outlook de corupție
Ca și alte fișiere comune, cum ar fi documentul Word, foaia de lucru Excel, fișierul de date Outlook este vulnerabil. Prin urmare, ar trebui să luați câteva măsuri de precauție puternice pentru a reduce șansele de corupție în Outlook. De exemplu, trebuie să persistați într-o copie de rezervă obișnuită a datelor PST. În plus, pentru a preveni pierderea datelor, ar trebui să păstrăm un instrument de reparare Outlook în apropiere, cum ar fi DataNumen Outlook Repair. Este capabil să repara Outlook probleme cu ușurință fără efort.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv corupție sql și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com


