By default, when you create an appointment or meeting, the default duration is set to half an hour. If you want to change it, you can refer to the 2 methods introduced in this article.
As you can see, when create a new appointment or meeting, the duration of the new item will be automatically set to 30 minutes. However, in reality, this is not suitable for most users. Therefore, many people would like to change the default duration of appointment and meeting to their own preferences. Focused on this requirement, here we will teach you 2 means. Read on to get them in detail.
Method 1: Change Time Scale
- To start with, launch Outlook.
- Then turn to “Calendar” pane and open the desired calendar folder.
- Next turn to “View” tab and select “Change View” > “Calendar”.
- Subsequently, click “View Settings” button.
- In the popup dialog box of “Advanced View Settings: Calendar”, click “Other Settings” button.
- Then in the subsequent dialog box, you can change the time scale. Select a time period based on your desired duration. Here there are only 6 options.
- After that, click several “OK” buttons to close all the dialog boxes.
- From now on, when you create a new appointment or meeting, the default duration will be the same as your selected time scale.
However, this mean has 2 biggest drawbacks. One is that there are only 6 options for you to select. You cannot specify the duration at will. The other one is that this can only work in “Calendar” view. If you change to other view, the duration will be back to half an hour. Hence, move on to the next method, which can get rid of these shortcomings.
Method 2: Change via VBA
- In the first place, press “Alt + F11” key buttons in Outlook window.
- Then in the next VBA editor window, open “ThisOutlookSession” project.
- Next copy and paste the following VBA codes into it.
Private WithEvents objInspectors As Outlook.Inspectors Private WithEvents objAppointment As Outlook.AppointmentItem Private Sub Application_Startup() Set objInspectors = Outlook.Application.Inspectors End Sub Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector) If TypeOf Inspector.CurrentItem Is AppointmentItem Then Set objAppointment = Inspector.CurrentItem End If End Sub Private Sub objAppointment_Open(Cancel As Boolean) 'Set the default duration of new appointment If objAppointment.CreationTime = #1/1/4501# Then objAppointment.Duration = "50" End If End Sub Private Sub objAppointment_PropertyChange(ByVal Name As String) 'When you disable the "All Day Event" 'Change the default duration of the current appointment If Name = "AllDayEvent" Then If objAppointment.AllDayEvent = False Then objAppointment.Duration = "50" End If End If End Sub
- After that, sign this code.
- Then change your macro settings to permit digitally signed macros.
- Finally restart your Outlook to activate the macro.
- Thereafter, the duration of appointment and meeting will be set equal to the determined length in the VBA codes, like the following image.
Avoid Painful Outlook Data Loss
No one is willing to suffer Outlook PST data loss. Therefore, if you would like to get rid of frustrating PST data loss, you have to make 2 required precautions. One is the consistent and up-to-date PST data backups. The other one is to get hold of a reputable fix tool, such as DataNumen Outlook Repair, which can fix PST issues effectively.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including mdf damage and outlook repair software products. For more information visit www.datanumen.com
I had to restart Outlook twice, but it is working using the first method. Bravo
Thanks for this. I made a small modification that sets the duration based on the (default) duration for cases where a user selects a timespan in the calendar (which is fixed to 30′ slots (or 15′ etc., depending on the timescale) and then creates a new Appointment via the ribbon / right click in the calendar. I’ve set mine at 80% but you could obviously do it individually with other “Case” statements.
Private Sub objAppointment_Open(Cancel As Boolean)
‘ Set the default duration of new appointment
If objAppointment.CreationTime = #1/1/4501# Then
Select Case objAppointment.Duration
objAppointment.Duration = “20”
objAppointment.Duration = Ceiling((objAppointment.Duration / 10) * 0.8) * 10
‘ Ceiling function
Function Ceiling(x As Double) As Double
Ceiling = -Int(-x)