Hoe voorkom je dat Outlook te vroeg of te laat herinnert?
Je werkt bijvoorbeeld elke dag van 9 uur tot 00 uur, maar maakt nu om 6 uur een afspraak en voegt daar een herinnering van 00 uur voor toe in Outlook. Dat betekent dat de herinnering om 10 uur werkt voordat uw werk begint. Aan de andere kant kan de herinnering in speciale gevallen om middernacht klinken. Dat is nogal onhandig, en sommige Outlook-gebruikers willen misschien voorkomen dat Outlook te vroeg of te laat eraan herinnert. Hier zal ik een VBA-macro introduceren die u in Outlook kunt oplossen.
- Automatiseer e-mailen met Auto CC / BCC, Automatisch doorsturen door regels; versturen Auto antwoord (Out of Office) zonder dat er een uitwisselingsserver nodig is...
- Ontvang herinneringen zoals BCC-waarschuwing bij het beantwoorden van iedereen terwijl u in de BCC-lijst staat, en Herinner bij ontbrekende bijlagen voor vergeten bijlagen...
- Verbeter de e-mailefficiëntie met Antwoord (allemaal) met bijlagen, Automatisch begroeting of datum en tijd toevoegen aan handtekening of onderwerp, Beantwoord meerdere e-mails...
- Stroomlijn e-mailen met E-mails intrekken, Hulpmiddelen voor bijlagen (Alles comprimeren, Alles automatisch opslaan...), Verwijder duplicaten en Quick Report...
Om te voorkomen dat Outlook te vroeg of te laat herinnert, kunt u het volgende doen:
Stap 1: druk op de anders + F11 toetsen om het Microsoft Visual Basic for Applications-venster te openen.
Stap 2: Vouw het Microsoft Outlook-objecten in het linkerdeelvenster en plak de volgende VBA-macro in het DezeOutlookSessie.
VBA: voorkom dat u te vroeg of te laat herinnert 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: U kunt uw werkperiode specificeren door de volgende parameters in de VBA-code hierboven te wijzigen:
herinneringMaxHour = 20
herinneringMinHour = 9
Stap 3: Sla deze VBA op en start uw Microsoft Outlook opnieuw.
Vanaf nu, wanneer u een afspraak maakt met een herinneringstijd buiten uw werkperiode, zal er een dialoogvenster verschijnen om u eraan te herinneren nadat u op de knop Opslaan en sluiten knop.
Als de herinneringstijd eerder is dan de opgegeven reminderMinHour, klikt u op het Ja in het dialoogvenster zal het de herinneringstijd veranderen en de herinnering laten klinken op de gespecificeerde reminderMinHour.
Als de herinneringstijd later is dan de opgegeven reminderMaxHour, klikt u op het Ja in het dialoogvenster zal het de herinneringstijd veranderen en u eraan herinneren op de opgegeven reminderMaxHour.
Opmerking: Deze VBA-code werkt goed met Outlook 2013, maar niet met Outlook 2010 en 2007.
Beste Office-productiviteitstools
Kutools for Outlook - Meer dan 100 krachtige functies om uw Outlook een boost te geven
🤖 AI Mail-assistent: Directe professionele e-mails met AI-magie: met één klik geniale antwoorden, perfecte toon, meertalige beheersing. Transformeer e-mailen moeiteloos! ...
???? Email Automation: Niet aanwezig (beschikbaar voor POP en IMAP) / Plan het verzenden van e-mails / Automatische CC/BCC volgens regels bij het verzenden van e-mail / Automatisch doorsturen (geavanceerde regels) / Begroeting automatisch toevoegen / Splits e-mails van meerdere ontvangers automatisch op in individuele berichten ...
📨 email management: Gemakkelijk e-mails herinneren / Blokkeer zwendel-e-mails van onderwerpen en anderen / Verwijder dubbele e-mails / Uitgebreid Zoeken / Consolideer mappen ...
📁 Bijlagen Pro: Batch opslaan / Batch losmaken / Batchcompressie / Automatisch opslaan / Automatisch loskoppelen / Automatisch comprimeren ...
???? Interface-magie: 😊Meer mooie en coole emoji's / Verhoog uw Outlook-productiviteit met weergaven met tabbladen / Minimaliseer Outlook in plaats van te sluiten ...
???? Wonderen met één klik: Beantwoord iedereen met inkomende bijlagen / Antiphishing-e-mails / 🕘Toon de tijdzone van de afzender ...
👩🏼🤝👩🏻 Contacten en agenda: Batchcontacten toevoegen uit geselecteerde e-mails / Splits een contactgroep in individuele groepen / Verwijder verjaardagsherinneringen ...
Over 100 Eigenschappen Wacht op je verkenning! Klik hier om meer te ontdekken.