Outlook and all day event reminders


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?

Best Answer

[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