To change a default Outlook form
Applying a custom form to all the items in an Outlook folder requires two operations:
- Make the new form the folder's default form for new items
- Apply the new form to existing items by changing the value of each item's MessageClass property
Beginning with Outlook 2000, you can also substitute a custom form for any of the default forms that come with Outlook. However, using a published custom form as a substitute for the default message form is a very bad idea, as it will likely annoy non-Outlook recipients and prevent them from getting any attachments you send them.
Change Folder Default
To make a form the default for a folder, publish the form to the folder or to the Organizational Forms library on Exchange server. Once you've published the form, right-click the folder, and choose Properties. Then, select your form from the When posting to this folder list.
If you change the default form in the Contacts, Calendar, Journal or Tasks folder, the new form will be used whenever you click the New button for that type of item, even if you're not in the folder.
In mail/post folders, if you want a custom post form to appear when you click the New button while you're in that folder, you must restrict the forms used in the folder. Go to the Forms page on the folder's Properties dialog, and choose Only forms listed above.
To change the default folder programmatically in versions before Outlook 2007, you can use CDO 1.21. In Outlook 2007, use the new PropertyAccessor object. For code samples, see:
Convert Existing Items
Converting existing items to use a custom form is a simple matter of changing the value of each item's MessageClass property so that it points to the custom form instead of the default form. Here is a selection of tools and scripts to accomplish this.
ContactGenie - Message Class Modifier
- Free standalone or COM add-in program for Outlook 2000 or later. Can handle items with multiple message classes in a single folder. Requires CDO 1.21, which is an optional Outlook component; rerun Outlook setup if necessary to add it.
- Free tool to update the message class of existing items in any folder. Should work in any Outlook version.
Helen Feddema's VB Script method
- Open and publish the ResetMessageClass.oft file, then run the published form. Older version of same script available at Update Message Class Form.
Outlook 2000 Existing Items Converter
- Free Microsoft tool to change the MessageClass of existing items from the default form to a new custom form or from a custom form back to the default (e.g. IPM.Contact for contact items). This tool is a COM addin that installs in the Program Files\Microsoft Office\Office\Addins folder, along with a ChangeFmReadme.rtf file that explains how to use it.The download (Changeforms.exe) runs only for Outlook 2000. For later versions, Outlook MVP Diane Poremsky suggests using a compressed files tool to extract the .msi file from the download. You can then run the .msi file to perform the installation.
Word 2000 Document to Change Outlook Folder Message Class
- Self-explanatory Word 97 document that should work in all versions, as long as macros are enabled. Sample code is useful to see how to work with all items in a folder. Includes routine to analyze a folder for existing message classes.
Substitute Default Form
Outlook 2000 introduced a method to force Outlook to open items with a form other than the default. The method involves a somewhat complex change to the Windows registry, and Microsoft provides a free tool that lets you specify which form to substitute, say, for the default message form. As noted above, this technique should not be used to substitute for the default message form.
To substitute your custom forms for Outlook's default forms, download Outlook 2000 Forms Administrator (FormsAdmin.exe). This tool installs in the folder you specify during setup, along with a FormsAdminReadme.rtf file that explains how to use it. Use this tool with caution. Make sure that your substitute form includes all the functionality you need and that you enter the correct form name. WARNING: The tool does not check to make sure that the form name you enter is a valid, published form of the correct type.
Also, note that the registry entries have two separate effects on new and existing items:
- Existing items will open in the form whose message class you specified in the tool, but the MessageClass property on the items will remain that of the default form.
- The MessageClass of new items created with the New button will be that of the custom form that was substituted. If you later remove the substitution registry entry, the MessageClass does not change. If you want the items to revert to the built-in default form, you will need to use one of the methods above to convert existing items back to the standard form. An alternative approach is to include code in the custom form's Write event handler to set the MessageClass to the normal default form for that type of item (e.g. IPM.Contact for a contact item).
In Outlook 2002 and later versions, the Forms Administrator tool puts the registry change in the wrong key, the key for Outlook 2000. (This is harmless.) What you need to do is export the key from the Forms Administrator tool, then edit the .reg file in Notepad. For Outlook 2002, change the key from HKCU\Software\Microsoft\Office\9.0\Outlook\Custom Forms to HKCU\Software\Microsoft\Office\10.0\Outlook\Custom Forms. For Outlook 2003, change 9.0 to 11.0. For Outlook 20007, change it from 9.0 to 12.0. Once you make that change, run the .reg file to update the registry with the new forms substitution values. Also see:
In Outlook 2003, forms substitution may not work with the New Journal for Contact and other contact folder Actions menu commands unless the form is published in the Personal Forms or Organizational Forms library. More significantly, substituting the form for reading does not seem to work at all on message forms at all. We know of no workaround.
In Outlook 2007, forms substitution is incompatible with the new form regions extensibility feature. Specifically, if you have a replaceall form region with the derived class IPM.Note.MyRegion, use registry substitution to make that the default class, and then press the New button, Outlook will create a new message with the class IPM.Note and will ignore the form region.
WARNING: Using substitution to compose mail with a custom form generally is a bad idea. In many cases, non-Outlook recipients will not be able to read an attachments and, at best, will get an annoying Winmail.dat attachment.