Dopo aver pianificato un appuntamento ricorrente nel calendario di Outlook, se desideri rimuovere i promemoria degli eventi che cadono nei fine settimana, puoi utilizzare il metodo introdotto in questo articolo.
Hai degli appuntamenti ricorrenti nel calendario di Outlook? Ad esempio, hai programmato un appuntamento ricorrente ogni 4 giorni. In questo caso, alcune occorrenze di questo appuntamento cadrebbero nei fine settimana. A questo punto, i promemoria di questi eventi del fine settimana potrebbero essere inutili per te. Pertanto, desideri rimuovere i loro promemoria. Concentrandosi su questo requisito, qui introdurremo un modo efficace e conveniente.

Rimuovi i promemoria per le occorrenze del fine settimana di un appuntamento ricorrente
- All'inizio, avvia l'applicazione Outlook.
- Quindi, passa all'editor VBA di Outlook tramite i tasti "Alt + F11".
- Successivamente, inserisci il seguente codice VBA in un progetto o modulo.
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
- Successivamente, puoi chiudere la finestra.
- Successivamente, seguire i passaggi indicati nell'articolo “Come eseguire il codice VBA in Outlook” per aggiungere questa macro alla barra di accesso rapido.
- Alla fine, esegui questa macro ora.
- Prima di tutto, seleziona un'occorrenza dell'appuntamento ricorrente.
- Successivamente, fai clic sul pulsante macro nella barra di accesso rapido.
- Al termine della macro, i promemoria delle occorrenze programmate nei fine settimana verranno rimossi. Inoltre, i soggetti verranno modificati in base al codice, come nella seguente schermata:
Proteggi Outlook dalla corruzione
Come altri file comuni, come documento Word, foglio di lavoro Excel, il file di dati di Outlook è vulnerabile. Pertanto, dovresti prendere alcune potenti precauzioni per ridurre le possibilità di corruzione di Outlook. Ad esempio, devi persistere in un normale backup dei dati PST. Inoltre, per prevenire la perdita di dati, dovremmo tenere nelle vicinanze uno strumento di riparazione di Outlook, ad esempio DataNumen Outlook Repair. È in grado di riparare Outlook problemi con facilità senza sforzo.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui corruzione sql e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com


