Last reviewed on July 11, 2013   —  9 Comments

To create a custom form that has a preset start and end time, you need to open the form in design mode, add a little VBScript then publish the form. You can then either set the form as your default appointment form or select it from the New Items menu.

To use the form, select a date in the calendar and click the New button.

To create the form:

  1. Open a new Outlook Appointment form
  2. If the Developer ribbon is not visible, go to File, Options customize Ribbon and add a check to enable the Developer ribbon
  3. On the developer ribbon, click Design This Form
  4. click the ViewCode button to open the Script editorClick View Code button to open the Script Editor. (It looks like Notepad.)
  5. Paste the Script into the editor window and close the editor.
  6. Test the form by clicking the Run This Form button
  7. Publish it by clicking Publish
  8. Enter a name for the form.
  9. Close the form and return to Outlook

To set the form as the default for the folder, right click on the folder and choose Properties. Select the form from the 'When posting, use form' dialog.

Function Item_Open ()

Dim SelCalendarDate
SelCalendarDate = DateValue(Item.Start)
Item.Start = SelCalendarDate &" "& TimeValue("8:00 AM")
Item.End =   SelCalendarDate & " "& TimeValue("6:00 PM")

End Function


  1. Denise Stewart says

    Thanks for the information it helped a little, but can you tell me why I can't modify the fields of the Appointment form in Design Form mode. If I choose the Contacts form I am able to modify the fields. My goal is to add additional fields to the like (Event Type and Recruiter to the New Appointment Form.

    • Diane Poremsky says

      for whatever reason, they designed the appointment form with the first page static. You can hide that page and create a new one on P.2 with all of the fields or add the fields you need on p.2 and use 2 pages.

  2. Jason burds says

    When I try to do this I get a "Expected end of Statement Line No:5" when I try to run this.

    Any ideas?


  3. Diane Poremsky says

    The code was messed up -it should have & and " instead of the html code for those characters. I fixed it. Sorry about that.

  4. Jason burds says

    When I do this code, I also get an error when I make a new Email.
    If TypeName(m_Inspector.CurrentItem) = "AppointmentItem" And _
    m_Inspector.CurrentItem.AllDayEvent Then

    is from your other script to add reminders to all day events.

    I think its from changing my default Appointment form.

  5. Jason burds says

    Run-time error '438: Object doesn't support this property or method.

    When I click debug is has "If TypeName(m_Inspector.CurrentItem) = "AppointmentItem" And _
    m_Inspector.CurrentItem.AllDayEvent Then" highlighted.

Leave a Reply

Please post long or more complicated questions at OutlookForums by

If the Post Comment button disappears, press your Tab key.