In Outlook 2013, the default reminder time for all-day appointments is 0.5 days, in Outlook 2010 even 16 hours. This is sometimes "somewhat" unfavorable for appointments on Monday.
Unfortunately, there is no direct setting option to adjust the default setting, but it also works quite well with a small macro:
Public WithEvents olAppointmentItems As Outlook.Items
Private Sub Application_Startup()
Set olAppointmentItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Items
End SubPrivate Sub olAppointmentItems_ItemAdd(ByVal Item As Object)
Dim appointment As AppointmentItem
Set appointment = ItemIf appointment.AllDayEvent = True Then
appointment.ReminderMinutesBeforeStart = 120 '60 minutes * 2
appointment.save
End If
End Sub
To activate the macro, the "Developer tools" ribbon must first be displayed in the Outlook options
As soon as the ribbon has been activated, the "Visual Basic" item can be found under the developer tools
The above macro can now be inserted under "ThisOutlookSession" (don't forget to save)
The security level must now be lowered under "Macro security" (or the macro must be signed)
After restarting Outlook, the macro is active. If a new all-day appointment is now created, the reminder time is set to 2 hours after the appointment is saved. The value can be set in the line
appointment.ReminderMinutesBeforeStart = 120 '60 minutes * 2
customize.
I have 2 calendars in my Outlook, so I have extended the macro a little to change the reminder for both calendars:
The macro then looks like this, for example:
Public WithEvents olAppointmentItems As Outlook.Items
Public WithEvents olAppointmentItems2 As Outlook.ItemsPrivate Sub Application_Startup()
Set olAppointmentItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Items
Set olAppointmentItems2 = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Folders("Private").Items
End SubPrivate Sub olAppointmentItems_ItemAdd(ByVal Item As Object)
Dim appointment As AppointmentItem
Set appointment = ItemIf appointment.AllDayEvent = True Then
appointment.ReminderMinutesBeforeStart = 120 '60 minutes * 2
appointment.save
End If
End SubPrivate Sub olAppointmentItems2_ItemAdd(ByVal Item As Object)
Dim appointment As AppointmentItem
Set appointment = ItemIf appointment.AllDayEvent = True Then
appointment.ReminderMinutesBeforeStart = 120 '60 minutes * 2
appointment.save
End If
End Sub
The name of the calendar is entered in the line
Set olAppointmentItems2 = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Folders("Private").Items
is specified. Incidentally, you can also create an appointment without a standard reminder in Outlook 2013 by clicking on the empty field in front of the time:
But without any memory at all? I am very forgetful...
Hallo Frank, Das Makro ist wirklich sehr hilfreich.
Eine Frage hätte ich dazu:
Gibt es auch die Möglichkeit dieses Makro auf den Kalender einer zusätzlich angebundenen 2. Mailbox anzuwenden?
Mfg
H. Krueger