MORE INFORMATION
You can create a Visual Basic for Applications macro that opens a custom form. You can then assign the macro to a toolbar button or a menu so that the form can be easily opened.
To Create a Custom Form
If you already have a custom form stored in your Inbox and know the message class of the form, you can skip this section and go to the next section.
- In the Folder List, click the Inbox.
- On the Tools menu, point to Forms, and click Design a Form.
- Click Message, and then click Open.
- Click the (P.2) page of the form.
- If the Control Toolbox is not visible, on the Forms menu, click Control Toolbox.
- Select a control from the Control Toolbox and drag it to the form.
- On the Tools menu, point to Forms, and then click Publish Form.
- In the Look in list, select Inbox.
- For the display name, type FormsTest, and then click Publish. Note that the message class is IPM.Note.MyForm.
- Click Yes to select the Save Form Definition with Item check box.
- Close the form and do not to save it.
To Create the Visual Basic for Applications Code
Microsoft provides programming examples for illustration only, without warranty either
expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes
that you are familiar with the programming language being demonstrated and the
tools used to create and debug procedures. Microsoft support professionals can
help explain the functionality of a particular procedure, but they will not
modify these examples to provide added functionality or construct procedures to
meet your specific needs. If you have limited programming experience, you may
want to contact a Microsoft Certified Partner or the Microsoft fee-based
consulting line at (800) 936-5200. For more information about Microsoft Certified
Partners, please visit the following Microsoft Web site:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
To create the code to open the form, follow these steps:
- On the Tools menu, point to Macro, and click Visual Basic Editor.
- In the Project - Project1 pane, double-click Project1, and double-click Microsoft Outlook Objects.
- Double-click ThisOutlookSession to open a code window.
- In the code window, enter the following code:
Sub DisplayForm()
Set myFolder = Session.GetDefaultFolder(olFolderInbox)
Set myItem = myFolder.Items.Add("IPM.Note.MyForm")
myItem.Display
End Sub
This code assumes that the name of your form is MyForm. Be sure to modify the third line of code if your form's message class is different.
- On the File menu, click Save VBAProject.OTM.
- Close the Visual Basic Editor.
To Create the Toolbar Button
- On the View menu, point to Toolbars, and click Customize.
- On the Commands tab, in the Categories list, click Macros. The macro will be listed as Project1.ThisOutlookSession.DisplayForm
- Drag the macro name to a toolbar.
- With the toolbar button selected, click Modify Selection, to make any desired changes to the appearance of the button.
- Click Close.
To Modify the Code
This code can be used with any mail message form, regardless of whether it is published in the Personal Forms Library, Organizational Forms Library, or the Inbox folder. However, other types of forms are typically published in a folder and the resultant items are saved to that folder. This would typically be the case if you create a custom contact form, for example.
You may need to alter the code so that the custom form can be found in a specific folder (the folder it was published in) and so the item is saved in the correct folder; the following line of code is critical to this:
Set myFolder = Session.GetDefaultFolder(olFolderInbox)
This line of code assumes that you want to use the default Inbox folder. If you want to use a different folder, substitute one of the following Outlook constants for
olFolderInbox:
- olFolderDeletedItems
- olFolderOutBox
- olFolderSentMail
- olFolderCalendar
- olFolderContacts
- olFolderJournal
- olFolderNotes
- olFolderTasks
The code also assumes that the folder you want to use is one of the default set of folders. The default set of folders are those folders that are at the same level as the Inbox which receives incoming mail. However, if you want to use a custom form that is published in another folder, you must modify the code appropriately.
For more information on how to reference other folders in Outlook, please see the "Referencing Existing Folders" section of the following article in the Microsoft Knowledge Base:
290804 OL2002: Programming Examples for Referencing Items and Folders
Examples of Opening Other Forms
To open a default contact item, change the code to:
Sub DisplayForm()
Set myFolder = Session.GetDefaultFolder(olContactFolder)
Set myItem = myFolder.Items.Add("IPM.Contact")
myItem.Display
End Sub
To open a custom form with a message class of
IPM.Note.Test that is published in the
Test folder located in the default
Inbox folder, change the code to:
Sub DisplayForm()
Set myFolder = Session.GetDefaultFolder(olFolderInbox).Folders("Test")
Set myItem = myFolder.Items.Add("IPM.Note.Test")
myItem.Display
End Sub
To open a custom form with a message class
IPM.Appointment.Test that is published in the Personal Forms Library, or the Organizational Forms Library, change the code to:
Sub DisplayForm()
Set myFolder = Session.GetDefaultFolder(olFolderCalendar)
Set myItem = myFolder.Items.Add("IPM.Appointment.Test")
myItem.Display
End Sub
To open a custom form in a Microsoft Exchange public folder titled
My Public Folder, located at the top of the public folder hierarchy, use the following code:
Sub DisplayForm()
Set myFolder1 = Session.Folders("Public Folders")
Set myFolder2 = myFolder1.Folders("All Public Folders")
Set myFolder3 = myFolder2.Folders("My Public Folder")
Set myItem = myFolder3.Items.Add("IPM.Appointment.Test")
myItem.Display
End Sub
To Open the Choose Forms Dialog Box
Instead of creating Visual Basic for Applications code to open a form, you may prefer to open the
Choose Forms dialog box from a toolbar button. To do this without programming, follow these steps:
- On the View menu, point to Toolbars, and click Customize.
- On the Commands tab, under Categories, click File.
- In the list of Commands, drag Choose Form... to a toolbar.
- Click Close.