Come impedire a Outlook di ricordare troppo presto o troppo tardi?
Ad esempio, lavori dalle 9:00 alle 18:00 ogni giorno, ma ora stai fissando un appuntamento alle 10:00 e aggiungi un promemoria di 2 ore in Outlook. Ciò significa che il promemoria verrà attivato alle 8:00, prima dell'inizio del tuo lavoro. D'altra parte, il promemoria potrebbe suonare a mezzanotte in casi particolari. Questo è piuttosto scomodo, e alcuni utenti di Outlook potrebbero voler evitare che Outlook li avvisi troppo presto o troppo tardi. Qui ti presenterò una macro VBA per risolvere questo problema in Outlook.
- Potenzia la tua produttività email con la tecnologia AI, consentendoti di rispondere rapidamente alle email, redigere nuove, tradurre messaggi e molto altro in modo più efficiente.
- Automatizza l'invio di email con CC/BCC automatico, Inoltro automatico in base a regole; invia Risposta automatica (Fuori sede) senza richiedere un server di scambio...
- Ottieni promemoria come Prompt quando si risponde a una email con me in Ccn e Avviso allegati mancanti per allegati dimenticati...
- Migliora l'efficienza delle email con Rispondi (a tutti) con allegati, Aggiunta automatica di Saluti o Data e Ora nella firma o nell'oggetto, Rispondi a più email...
- Ottimizza l'invio di email con Richiama Email, Strumenti allegati (Comprimi tutti, Salvataggio automatico), Rimuovi duplicati e Rapporto rapido...
Per impedire a Outlook di ricordare troppo presto o troppo tardi, puoi fare come segue:
Passaggio 1: Premere contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.
Passaggio 2: Espandi gli Oggetti di Microsoft Outlook nel riquadro sinistro e incolla la seguente macro VBA in ThisOutlookSession.
VBA: Impedisci di ricordare 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 periodo di lavoro modificando i seguenti parametri nel codice VBA sopra riportato:
reminderMaxHour = 20
reminderMinHour = 9
Passaggio 3: Salva questa VBA e riavvia Microsoft Outlook.
Da adesso, quando crei un appuntamento con un orario di promemoria al di fuori del periodo di lavoro specificato, apparirà una finestra di dialogo per ricordartelo dopo aver cliccato il pulsante Salva & Chiudi.

Se l'orario del promemoria è precedente all'ora minima specificata (reminderMinHour), clicca Sì nella finestra di dialogo, cambierà l'orario del promemoria e lo farà suonare all'ora minima specificata (reminderMinHour).
Se l'orario del promemoria è successivo all'ora massima specificata (reminderMaxHour), clicca Sì nella finestra di dialogo, cambierà l'orario del promemoria e ti avviserà all'ora massima specificata (reminderMaxHour).
Nota: Questo codice VBA funziona bene con Outlook 2013, ma non funziona con Outlook 2010 e 2007.
I migliori strumenti per la produttività in Office
Ultime novità: Kutools per Outlook lancia la versione gratuita!
Scopri il nuovo Kutools per Outlook con oltre100 funzionalità incredibili! Clicca per scaricare ora!
📧 Automazione email: Risposta automatica (disponibile per POP e IMAP) / Programmazione invio email / CC/BCC automatico tramite regola durante l’invio dell’email / Inoltro automatico (Regola avanzata) / Aggiungi saluto automaticamente / Suddivisione automatica delle email con più destinatari in email individuali ...
📨 Gestione email: Richiama Email / Blocca email di truffa tramite Oggetto e altro / Elimina Email duplicate / Ricerca Avanzata / Organizza cartelle ...
📁 Allegati Pro: Salvataggio in batch / Distacco in batch / Compressione in batch / Salvataggio automatico / Distacca automaticamente / Auto Comprimi ...
🌟 Magia dell’interfaccia: 😊Più emoji belle e simpatiche / Ti avvisa quando arrivano email importanti / Minimizza Outlook invece di chiuderlo ...
👍 Meraviglie con un clic: Rispondi a Tutti con Allegati / Email Anti-phishing / 🕘Mostra il fuso orario del mittente ...
👩🏼🤝👩🏻 Contatti e Calendario: Aggiunta massiva dei contatti dalle email selezionate / Dividi un Gruppo di Contatti in gruppi individuali / Rimuovi promemoria di compleanno ...
Usa Kutools nella lingua che preferisci: supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

