Come fare per evitare che Outlook invii i promemoria troppo presto o troppo tardi?
Ad esempio, lavori ogni giorno dalle 9:00 alle 18:00, ma ora stai creando un appuntamento per le 10:00 e imposti in Outlook un promemoria di 2 ore. Ciò significa che il promemoria scatterà alle 8:00, prima dell’inizio del tuo orario di lavoro. In casi particolari, potrebbe addirittura suonare a mezzanotte — una situazione piuttosto scomoda. Molti utenti di Outlook preferirebbero evitare promemoria troppo anticipati o fuori orario. Di seguito ti presento una macro VBA per risolvere questo problema in Outlook.
- Migliora la tua produttività email con la tecnologia AI, rispondendo rapidamente alle email, creandone di nuove, traducendo messaggi e molto altro in modo ancora più efficiente.
- Automatizza l’invio delle email con CC/BCC automatico, Inoltro automatico e regole; invia una Risposta automatica (fuori sede) senza dover utilizzare un server Exchange...
- Ricevi promemoria come Prompt quando si risponde a una email con me in Ccn quando rispondi a tutti pur essendo in Ccn, e Promemoria per allegati mancanti per non dimenticare gli allegati…
- Migliora l’efficienza delle email con Rispondi con allegati (tutti), Aggiunta automatica di saluto o data e ora nella firma o nell’oggetto, Rispondi a più email...
- Ottimizza l’invio delle email con Richiama Email, Strumenti allegati (Comprimi tutto, Salvataggio automatico di tutti gli allegati...), Rimuovi duplicati e Rapporto rapido...
Per evitare che Outlook invii promemoria troppo presto o troppo tardi, procedi come segue:
Passaggio 1: premi contemporaneamente i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic for Applications.
Passaggio 2: espandi l’elemento Oggetti Microsoft Outlook nel riquadro sinistro e incolla la seguente macro VBA in ThisOutlookSession.
VBA: Evita promemoria troppo presto o troppo tardi in 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
Nota: puoi specificare il tuo orario di lavoro modificando i seguenti parametri nel codice VBA riportato sopra:
reminderMaxHour = 20
reminderMinHour = 9
Passaggio 3: salva questa macro VBA e riavvia Microsoft Outlook.
D’ora in poi, quando creerai un appuntamento con un promemoria al di fuori dell’orario lavorativo da te specificato, apparirà una finestra di dialogo di promemoria dopo aver fatto clic sul pulsante Salva e chiudi.

Se l’orario del promemoria è precedente all’ora minima specificata (reminderMinHour), fai clic su Sì nella finestra di dialogo: l’orario del promemoria verrà aggiornato in modo da suonare all’ora minima indicata (reminderMinHour).
Se l’orario del promemoria è successivo all’ora massima specificata (reminderMaxHour), fai clic su Sì nella finestra di dialogo: l’orario del promemoria verrà modificato in modo che il promemoria suoni all’ora massima specificata (reminderMaxHour).
Nota: Questo codice VBA funziona perfettamente con Outlook 2013, ma non è compatibile con Outlook 2010 e 2007.
Migliori strumenti per la produttività in Office
Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!
📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...
📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...
📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica…
🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...
👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...
👩🏼🤝👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...
Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!


🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office
Fortemente consigliato: Kutools for Office (5-in-1)
Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!
- ✅Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
- 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
- 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint