When I create an all day appointment in Outlook is defaults to setting a reminder eighteen hours before the start. Frankly I don't like being woken up at 6am! Is there any way to change the default?

I get this both in Outlook 2003 and 2007. In "Options" I see that the default is 15 minutes, which is what it uses for events that are not all day, but I don't see anywhere to change the default for all day events. Am I missing something very obvious? Or is it just bizarrely missing?


[I found this 'solution'][1]. It seems that there isn't a real fix, but this website has a workaround in the comments

Hi, This isn’t a fix for the 18 hours thing but its a workaround. It comes in the form of an Outlook macro I have just written – you are all free to use the code below.

What it does is search your calendar for the next six months of all day appointments only and then sets the notification of them to 0 minutes – Meaning you should get them on your blackberry on the same day.

Once you copy the code into Outlook I advise you sign it yourself so Outlook can run it with macro security still at a good level and put a macro button in your toolbar – instructions for both are on the sites below. Then you just have to press the macro button in Outlook every day\week and you don’t have to worry about setting an all-day appointment in outlook without changing the notification.

Hope it helps.

Sub AllDaySetToZero()

Dim daStart, daEnd As Date
Dim oCalendar As Outlook.Folder
Dim oItems As Outlook.Items
Dim oItemsInDateRange As Outlook.Items
Dim oFinalItems As Outlook.Items
Dim oAppt As Outlook.AppointmentItem
Dim strRestriction As String
Dim Debuglog
Dim CurrentTitle As String

‘ Set the date range for the appointments query -
‘ It is set below to start at todays date and
‘ end at todays date + 120 days (or 4 months)
‘ You can increase or reduce this based on your PCs performance

daStart = Format(Date, “mm/dd/yyyy hh:mm AMPM”)
daEnd = DateAdd(”d”, 120, daStart)
daEnd = Format(daEnd, “mm/dd/yyyy hh:mm AMPM”)
Debuglog = “1 Start: ” & daStart
Debuglog = Debuglog & “, ” & “1 End: ” & daEnd

‘ Construct a filter for the next 120-day date range.
strRestriction = “[Start] >= ‘” & daStart _
& “‘ AND [End] <= ‘” & daEnd & “‘”
Debuglog = Debuglog & “, ” & “2 ” & strRestriction

‘ The macro obtains the set of appointment items in the default calendar
‘ specified by the current Outlook user profile.

Set oCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
Set oItems = oCalendar.Items

‘ To include recurring appointments, sort by using the Start property.
oItems.IncludeRecurrences = True
oItems.Sort “[Start]”

‘ Restrict the Items collection for the 1110-day date range.
Set oFinalItems = oItems.Restrict(strRestriction)

‘ Go through each calendar item remaining in turn
‘ If it isn’t a full Day event do nothing
‘ If it is set Reminder to 0 Minutes.
oFinalItems.Sort “[Start]”
For Each oAppt In oFinalItems
Debuglog = Debuglog & “, ” & “6 ” & oAppt.Start & “, ” & oAppt.Subject & “, ” & oAppt.ReminderMinutesBeforeStart
CurrentTitle = oAppt.Subject
If oAppt.AllDayEvent = False Then
oAppt.ReminderMinutesBeforeStart = 0
End If
Debuglog = Debuglog & “, ” & “6 ” & oAppt.Start & “, ” & oAppt.Subject & “, ” & oAppt.ReminderMinutesBeforeStart & vbNewLine & vbNewLine
Debuglog = “”
End Sub

This question comes up in a lot of forums, but the answer always seems to be "it's a feature, not a bug." Eighteen hours appears to be the hard-coded default value for the reminder time.

BUT, which version of Outlook are you using? Microsoft has some hotfixes for related problems for the 2002 and 2003 versions. The 2002 "bug," in particular, seems to be the behavior you actually WANT; the hotfix will CAUSE the problem you're experiencing. Check out the page here:


  • I just edited my question to add the versions (can't believe I forgot to mention that!). Not 2002 unfortunately! – Stephen Darlington Sep 29 '09 at 19:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.