Quite often at 6 o'clock in the morning I was woken up because my phone remembered me of an appointment which will take place 18 hours later. This was quite annoying. I looked on the internet for a solution. Unfortunately I could not find any solution. Therefore I decided to write my own macro.
This is what it does: when outlook start, it checks all calendar items, if one of them has a reminder set to18 hours before, then the reminder is disabled
Running this script takes a few seconds (depending on the number of items in your calender) every time Outlook starts.
To install this script do the following:
- In outlook type Alt-F11 (the VBA editor window will pop up).
- Double click on Microsoft outlook Objects/ThisOutlookSession and copy/paste the following code in the right window:
Code:
‘This script was created by Ruut Brandsma on 12/04/2007
Private Sub Application_Startup()
Call Check_all_calender_items_and_disable_reminder_if_set_to_18_hours
End Sub
Sub Check_all_calender_items_and_disable_reminder_if_set_to_18_hours()
Set myNamespace = Application.GetNamespace("MAPI")
Set Application.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder(olFolderCalendar)
For Each item In Application.ActiveExplorer.CurrentFolder.Items
With item
If .Class = olAppointment Then
If .ReminderMinutesBeforeStart = 18 * 60 And .ReminderSet Then
.ReminderSet = False
.Save
End If
End If
End With
Next
Set Application.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder(olFolderInbox)
End Sub
- Close your outlook. Say yes to the save changes popup.
- Restart outlook and during startup all calendar items are checked and if needed adjusted.
If you not want to disable the reminders, but only to adjust the reminder time from 18 hours to e.g. 15 hours, just replace ".ReminderSet = False" in the code above to ".ReminderMinutesBeforeStart = 15 * 60"
I used Outlook Profesiional 2003 to test the script, but might also work for other version.