Vai al contenuto principale

Come impedire a Outlook di ricordare troppo presto o troppo tardi?

Ad esempio, lavori dalle 9:00 alle 6:00 tutti i giorni, ma ora stai fissando un appuntamento alle 10:00 e aggiungi un promemoria di 2 ore per esso in Outlook. Ciò significa che il promemoria funzionerà alle 8:00 prima dell'inizio del lavoro. D'altra parte, il promemoria può suonare a mezzanotte in casi speciali. Questo è abbastanza scomodo e alcuni utenti di Outlook potrebbero voler impedire a Outlook di ricordare troppo presto o troppo tardi. Qui introdurrò una macro VBA per risolverla in Outlook.

Scheda Office: abilita la modifica e la navigazione a schede in Microsoft Office, rendendo il lavoro un gioco da ragazzi
Kutools per Outlook: potenzia Outlook con oltre 100 funzionalità avanzate per un'efficienza superiore
Potenzia il tuo Outlook 2021-2010 o Outlook 365 con queste funzionalità avanzate. Goditi una prova gratuita completa di 60 giorni e migliora la tua esperienza di posta elettronica!

Per evitare che Outlook ricordi troppo presto o troppo tardi, puoi fare come segue:

Passo 1: premere il tasto altro + F11 tasti nel frattempo per aprire la finestra di Microsoft Visual Basic, Applications Edition.

Passaggio 2: espandere il file Oggetti di Microsoft Outlook nel riquadro di sinistra e incolla la seguente macro VBA nel file Questa sessione di Outlook.

VBA: impedisce il 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

 

Note:: È possibile specificare il periodo di lavoro modificando i seguenti parametri nel codice VBA sopra:
promemoriaMaxHour = 20
promemoriaMinOra = 9

Passaggio 3: salva questo VBA e riavvia Microsoft Outlook.

D'ora in poi, quando crei un appuntamento con un tempo di promemoria al di fuori di te specificando il periodo di lavoro, verrà visualizzata una finestra di dialogo per ricordarti dopo aver fatto clic Salva e chiudi pulsante.

Se l'ora del promemoria è precedente al promemoria specificatoMinHour, fare clic su nella finestra di dialogo, cambierà l'ora del promemoria e farà suonare il promemoria al promemoria specificato.

Se l'ora del promemoria è successiva a reminderMaxHour specificato, fare clic su nella finestra di dialogo, cambierà l'ora del promemoria e te lo ricorderà al promemoria specificato.

Nota: Questo codice VBA funziona bene con Outlook 2013, ma non funziona con Outlook 2010 e 2007.


I migliori strumenti per la produttività in ufficio

Kutools for Outlook - Oltre 100 potenti funzionalità per potenziare il tuo Outlook

🤖 Assistente di posta AI: E-mail istantanee professionali con la magia dell'intelligenza artificiale: risposte geniali con un solo clic, tono perfetto, padronanza multilingue. Trasforma l'e-mail senza sforzo! ...

???? Automazione di posta elettronica: Fuori sede (disponibile per POP e IMAP)  /  Pianifica l'invio di e-mail  /  CC/BCC automatico in base alle regole durante l'invio di e-mail  /  Inoltro automatico (regole avanzate)   /  Aggiunta automatica di saluto   /  Suddividi automaticamente le email con più destinatari in singoli messaggi ...

📨 gestione e-mail: Richiama facilmente le email  /  Blocca le email truffe per soggetto e altri  /  Elimina email duplicate  /  Ricerca avanzata  /  Consolidare cartelle ...

📁 Allegati ProSalvataggio in batch  /  Stacca batch  /  Comprimi in lotti  /  Salvataggio automatico   /  Scollegamento automatico  /  Comprimi automaticamente ...

🌟 Magia dell'interfaccia: 😊Più emoji carini e fantastici   /  Aumenta la tua produttività in Outlook con le visualizzazioni a schede  /  Riduci a icona Outlook invece di chiuderlo ...

👍 Meraviglie con un clic: Rispondi a tutti con gli allegati in arrivo  /   E-mail anti-phishing  /  🕘Mostra il fuso orario del mittente ...

👩🏼‍🤝‍👩🏻 Contatti e calendario: Aggiungi in batch contatti dalle email selezionate  /  Dividere un gruppo di contatti in singoli gruppi  /  Rimuovi promemoria compleanno ...

Al di sopra Caratteristiche 100 Attendi la tua esplorazione! Clicca qui per scoprire di più.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations