More Outlook Resource Sites

Microsoft Developer Network (MSDN)

FAQs and other general resources

Customizing Outlook Appointment Forms

Here are some of the oddities related to customized appointment and meeting request forms in Outlook. If you are aware of these from the beginning, you'll spend less time beating your head against the wall.

Quirks

You cannot customize the first page of the Appointment form. You can, of course, hide that page and design a custom   page that looks like the first page, but then you'll run into the next quirk:

Outlook does not include a version of the drop-down calendar control for developer user. See To add a date-time picker control to an Outlook form.

After you publish an appointment form, when you open a new item with that form (other than by double-clicking in a Calendar folder's Day/Week/Month view), the Start date may default to the date you published the form. The form will also have a reminder set if the user's default option is to use a reminder. A workaround is to include code like this on the published form to force it to default to the current date and time to turn off the reminder for newly created items:

See OL2000: Incorrect Start Time for Appointments Using Custom Form for a slightly fancier solution that rounds the Start time to the next half-hour. 

You cannot populate the Location drop-down list on the first page of an appointment form with your own values. Outlook maintains this list as a registry entry. See To clear the Location drop-down list on Outlook appointments.

Also see: 

Limitations

In general, customized meeting request forms (or customized appointment forms that may be used as meeting requests) tend to be more trouble than they're worth. Think about whether your application could accomplish the same results with a message form, as discussed in detail in Section 20.4.1 of my Microsoft Outlook Programming book.

You cannot close a meeting request form from its own Send event. 

Outlook provides direct no way to detect what date the user has selected in a Day/Week/Month view in the Calendar folder. To create an appointment programmatically with a Start date to match a date the user has selected, you can use the CommandBars technique demonstrated at:

The color labels on appointments in Outlook 2002/3 are folder-specific and cannot be accessed through the Outlook object model. You can, however, work with them through CDO 1.21 or Redemption. See:

Group schedules in Outlook 2002 and later versions are hidden IPM.Appointment items and cannot be created programmatically.

Problems

Do not store multi-line information (i.e. a string containing a CR/LF) in the Location property. Doing so may cause "out of memory or system resources" messages for all appointments. See Don't store multiline text strings to the AppointmentItem.Location field

You are prompted to save or to cancel when you close a custom form in Outlook 2002 -- fixed in Office XP Service Pack 3

Custom meeting request loses data when forwarded -- Problem introduced in Office XP Service Pack 3;hotfix available