MS Exchange Forms Designer Fundamentals

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Updated : June 14, 2001

Written by Matt Peart

Microsoft Enterprise Technical Support

On This Page

What Is the Microsoft Exchange Forms Designer?

What Is the Microsoft Exchange Forms Designer?

Microsoft® Exchange Forms Designer is a high level messaging application development tool used to create electronic forms for common paper-oriented tasks, such as vacation requests or purchase orders. Microsoft Exchange Forms Designer can also be used to develop applications for group communications, such as discussion forums, bulletin boards, and anonymous postings.

Microsoft Exchange Forms Designer does not require programming experience, and it allows you to create complex forms using the Microsoft Exchange Forms Designer Wizard. Microsoft Exchange Forms Designer also supports the simple dragging and dropping of fields (Microsoft Exchange Forms Designer controls) onto the form. Therefore, you can use Microsoft Exchange Forms Designer to create rich electronic forms without writing any code. Microsoft Exchange Forms Designer does require that Microsoft Exchange Client or Microsoft Outlook be installed for design and use. The Microsoft Exchange Client Setup program will install all the necessary Microsoft Visual Basic® 4.0 run-time and Microsoft Exchange messaging-specific files.

The Microsoft Exchange Forms Designer Wizard guides you through a list of options and ultimately chooses one of the Microsoft Exchange Forms Designer templates. The following templates are available in the Efdforms\Template directory:

File name

Option

Pstn1wnd.efp

1 Window post form

Pstn2wnd.efp

2 Window post form

Pstr1wnd.efp

1 Window post response form

Pstr2wnd.efp

2 Window post response form

Sndn1wnd.efp

1 Window send form

Sndn2wnd.efp

2 Window send form

Sndr1wnd.efp

1 Window send response form

Sndr2wnd.efp

2 Window send response form

Microsoft Mail for PC Networks clients are not supported using Microsoft Exchange Forms Designer 4.0 forms. A textual rendering of the form will appear in the message body on the Microsoft Mail for PC Networks client. However, Microsoft Exchange Client for Windows® does support Microsoft Exchange Forms Designer 1.0 forms, using custom messages.

What Are the Memory Requirements for Running and Designing Microsoft Exchange Forms?

The following list shows the minimum memory requirements for Microsoft Exchange Forms:

Designing Microsoft Exchange Forms:

Windows version

Memory requirement (RAM)

Windows 3.x

12 MB (16 MB recommended)

Windows 95

Same as for Windows 3.x

Windows NT® Server or Workstation

16 MB

Running Microsoft Exchange Forms:

Windows version

Memory requirement (RAM)

Windows 3.x

10 MB (12 MB recommended)

Windows 95

8 MB (12 MB recommended)

Windows NT Server or Workstation

16 MB

For more information about client requirements, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 147603

TITLE: XCLN: Client Requirements for Exchange Forms

How Do Microsoft Exchange Forms Work?

An Microsoft Exchange Form must be activated within the context of a MAPI client that supports the client side MAPIForm container interfaces, such as Microsoft Exchange Client. Both the client and the form expose Component Object Model (COM) interfaces to communicate back and forth. Part of this communication is the form getting the message object and action from Microsoft Exchange Client. Typical actions include Open, Print, Compose New, Reply, and so forth.

Microsoft Exchange Forms cannot be run from the command line like normal executable files. Microsoft Exchange Forms are OLE servers (LOCALSERVER OLE servers, not INPROCSERVER OLE servers; INPROCSERVER will be supported in a future version of Microsoft Exchange Forms Designer) to Microsoft Exchange Client. Microsoft Exchange Client can pass MAPI calls through Mapiform.vbx (a subset of the IMAPIForm API that is designed to implement forms generated using Microsoft Visual Basic) to a Microsoft Exchange Form using either IMAPIForm or IpersistMessage.

Form executables are copied locally into the Windows\Forms\Frmcache.dat file. By default, Frmcache.dat holds 2048 KB of form cached information, but this cache is configurable from the computer running Microsoft Exchange Client.

The Frmcache.dat file uses a "most recently used" algorithm to maintain the limited number of Microsoft Exchange Forms (no more than five) in the cache.

Cc750276.yk0at(en-us,TechNet.10).gif

What You Need to Know Before Creating a Microsoft Exchange Forms Designer Application

What Is Send Form?

A Send form is used when you want to send a form from one point to another. Send form can send a form to one user or group, or to many users and groups. Microsoft Exchange Forms Designer 1.0 for Microsoft Mail for PC Networks 3.x created Send forms exclusively.

What Is Post Form?

A Post form is typically used to send a form to a public folder. The public folder serves as a common repository for all users to locate, create, delete, and edit forms. The public folder can then be accessed by users with the appropriate permissions, in a lead thought-response format common to public forums and Bulletin Board Systems (BBSs).

What Is a Multiple Window Form?

Microsoft Exchange Forms can have multiple windows. A typical Post form may have two windows: one to display the compose state of the form, and the other to display the read state. This is typical if you want to have a different look when the form has already been submitted and appears in its read state. With two-window forms, you can lock or hide fields that you do not want to have accessible once the form has been submitted.

Send versus Response Forms

With Microsoft Exchange Forms Designer 4.0, you have the ability to choose whether the form is to be a Send form (creating a new item) or a Response form (responding to a preexisting form). Response forms are generally used as a response to a request (a Send form) or as a response to a lead thought (a Post form).

What Is a Custom Response?

Custom responses allow you to load a form from the original form. For example, you may want to display an approval form from a request form. Custom responses are configured in Microsoft Exchange Forms Designer by clicking on the Events tab in the Form Properties dialog box, as shown in the following diagram.

Cc750276.yk1at(en-us,TechNet.10).gif

Where Do I Install Microsoft Exchange Forms Once I Have Finished Designing?

The Microsoft Exchange Forms may be installed in the following various folder libraries:

Organization Forms Library: A public repository for forms (usually Send forms) located on a computer running Microsoft Exchange Server. Microsoft Exchange Forms are available by clicking New Form on the Compose menu.

Advantage: Supports anyone using forms who has access to the computer running Microsoft Exchange Server.

Personal Forms Library: A private repository for forms located either locally or on a computer running Microsoft Exchange Server. The location of this library depends on the delivery location for incoming messages.

Forms are available by clicking New Form on the Compose menu. For more information about the Personal Forms Library, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 149375

TITLE: XCLN: What is the Personal Forms Library?

Advantage: If the computer running Microsoft Exchange Client is configured for offline folders (OST), this container supports offline use. This is useful for testing with a limited group.

Public Folders: A public repository for forms (usually Post forms) associated with a folder, located on a computer running Microsoft Exchange Server.

Advantages: Provides greater access control. Supports anyone using forms who has access to the computer running Microsoft Exchange Server and has appropriate permissions on the folder. For more information on folder permissions, please refer to page 110 in the Microsoft Exchange Administrator's Guide.

Private or Personal (PST) Folders: A private repository. Private folders are located on the computer running Microsoft Exchange Server. PSTs are typically local.

Advantages: PSTs are available offline. They support distribution of forms on a floppy disk or network drive. They are useful for testing forms before they are installed in a Public Folder or Organization container.

Note: Forms can be installed from Microsoft Exchange Forms Designer or from the Forms Manager within Microsoft Exchange Client. Forms that have been extended using 16-bit Microsoft Visual Basic 4.0 must be installed through the Forms Manager. (On the Tools menu, click Options. Click the Microsoft Exchange Server tab, and then click Manage Forms.)

How Can I Distribute a Microsoft Exchange Form?

You can install a form in the Organization Library (normally Send forms for all users) or in a public folder (normally Post forms for groups where a folder owner can set and maintain privileges). In addition, you can install a form locally in a .pst file and send it to another user by means of a floppy disk, network share, or as an attachment to an e-mail message.

In addition to the above methods, you can distribute forms as .fdm files. These files can be created by clicking Options on the Tools menu, clicking the Microsoft Exchange Server tab, and clicking Manage Forms. Click the form in the right list box. If the form is not listed, you will need to make a copy of it by copying the form from the Organization Library to your personal forms library. Click the form in the left list box that you want to save, and click Save As. Type in a name for the form, such as Cool.fdm, and click OK. You can send this form to another Microsoft Exchange Client user as an attachment to a message. FDM files include the form executable code and information found in the .cfg file used for installing the form.

To install the form saved as an .fdm file, go into the same properties page (click Options on the Tools menu, click the Microsoft Exchange Server tab, click Manage forms) and click Install. By default, the file type will be .cfg. In the Files of type list box, click Form Message (*.fdm). Locate and select the file, and click OK.

Cc750276.yk2at(en-us,TechNet.10).gif

How Do I Access a Microsoft Exchange Form Once It Is Installed?

Microsoft Exchange Forms that are installed in a public folder, a private folder on the computer running Microsoft Exchange Server, or a PST are activated from the Compose menu of Microsoft Exchange Client. The folder must be selected for the form item to be displayed.

Cc750276.yk3at(en-us,TechNet.10).gif

How Does Microsoft Exchange Forms Designer Generate Code for the Form?

Efd.exe generates several Microsoft Visual Basic 4.0 files and then calls Vb.exe, the 16-bit Microsoft Visual Basic compiler, to create the .exe file. This version of Vb.exe is for Microsoft Exchange Forms Designer only, and is not to be used to design any Microsoft Visual Basic applications, including the extension of Microsoft Exchange Forms. The .exe file names are randomly generated, so they will appear something like G^&QK!~Y.exe. This is to help guarantee uniqueness for the executable form. For a list of files created for a one-window form, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 142578

TITLE: XCLN: Files Generated by E-forms Designer

What Makes a Microsoft Exchange Form Unique?

Microsoft Exchange Client uses Interpersonal Message types (IPM) to determine the uniqueness of a form. You can reinstall a form by installing it again with the same IPM type. By altering the IPM type in Microsoft Exchange Forms Designer, the same form can be installed in a folder multiple times.

Microsoft Exchange Forms Designer will generate a random IPM type to guarantee uniqueness. You can change this IPM type to something more meaningful, like "IPM.Purchase Order.Form."

Cc750276.yk4at(en-us,TechNet.10).gif

How Does Microsoft Exchange Forms Designer Load Forms?

For information about how Microsoft Exchange Forms Designer loads forms, please refer to the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 147542

TITLE: XCLN: Form Cache Behavior for EFD 4.0

The Rich Edit Field (Msriched.vbx)

Msriched.vbx contains the custom controls that enable the sending and receiving of attachments (embedded objects are not supported in this container), and the use of rich text streams. Msriched.vbx is actually made up of the following four controls:

  • RichText control

  • Format Bar control

  • Menu Select control

  • MSTabCtl control

Msriched.vbx has been designed and optimized exclusively for Microsoft Exchange Forms Designer development, and is not supported in stand-alone Microsoft Visual Basic applications.

More information and properties associated with this control can be found in Appendix A of the Microsoft Exchange Application Designer's Guide.

The IMAPIForm Interface (Mapiform.vbx)

Mapiform.vbx is an OLE programming interface that provides a subset of IMAPIForm.api designed to implement forms generated using Microsoft Visual Basic.

Mapiform.vbx is used as a layer to allow the passing of MAPI calls from Microsoft Exchange Client to the Microsoft Visual Basic form by means of IPersistMessage or IMAPIForm messages. More information and properties associated with this control can be found in Appendix C of the Microsoft Exchange Application Designer's Guide.

Common Microsoft Exchange Forms Designer 4.0 Issues

  1. Microsoft Exchange Forms Designer replaces handcoding because of the code generation process. Refer to the Forms Designer Readme.txt file.

  2. Because menus and toolbars may be referenced somewhere in the code, they should be hidden rather than deleted if you need to remove them. See the tips on page 306 of the Microsoft Exchange Application Designer's Guide.

  3. You need to know how to debug a Microsoft Exchange Form. Refer to Chapter 9, "Debugging a Form," in the Microsoft Exchange Application Designer's Guide.

  4. The form looks garbled when loading into Microsoft Visual Basic. Please refer to the following article in the Microsoft Knowledge Base:

    ARTICLE-ID: 154417

    TITLE: XCLN: EFD Form Project Appears Skewed When Loaded in VB

  5. You have problems with forms not updating. Please refer to the following article in the Microsoft Knowledge Base:

    ARTICLE-ID: 147542

    TITLE: XCLN: Form Cache Behavior for EFD 4.0

  6. The form project looks disoriented when loaded in Microsoft Visual Basic. Please refer to the following article in the Microsoft Knowledge Base:

    ARTICLE-ID: 154417

    TITLE: XCLN: EFD Form Project Appears Skewed When Loaded in VB

  7. You need to know what (and where) are the available locations to install a form. Please refer to the following articles in the Microsoft Knowledge Base:

    ARTICLE-ID: 146253

    TITLE: XCLN: How to Install a Form Created with EFD

    ARTICLE-ID: 149375

    TITLE: XCLN: What is the Personal Forms Library?

  8. There are no migration utilities available for Microsoft Mail for PC Networks 1.0 E-forms to Microsoft Exchange Forms. For more information, please refer to Chapter 4, page 66, in the Microsoft Exchange Migration Guide.

  9. Form executable files cannot be run as stand-alone applications. Forms are OLE servers, and to communicate, they require the client to launch them and to open an interface. This issue is similar to the Debugging a Form section described earlier in issue 3.

  10. Captions on form control buttons appear small and not centered. Please refer to the following article in the Microsoft Knowledge Base:

    ARTICLE-ID: 146843

    TITLE: XCLN: Caption Fields Created in EFD Are Truncated

Sample Applications

Microsoft Exchange Server comes packaged with several sample applications. The sample applications serve two purposes. The first purpose is as a representation of a real world solution for a historically paper based tasks. The second purpose is as a template for you to create your own form-based solutions.

Sample application

Form type

Description

Chess

Send

Complex Send form. Only form not created with Microsoft Exchange Forms Designer (pure MAPI C).

Helpdesk

Send

Simple help desk Send form. Created with Microsoft Exchange Forms Designer. Not extended.

Donate

Send

Simple donation Send form. Created with Microsoft Exchange Forms Designer. Not extended.

Customer tracking

Post

Post form for tracking contacts. Extended with Microsoft Visual Basic.

Discussion

Post

Simple discussion/response two-window form. Not extended.

DocFiler

Post

Post form for filing documents in a public folder.

Hot Topics

Post

Post form for displaying topics. Not extended.

Anonymous postings

Post

Post form that employs a Windows NT Server service to repost the message to maintain originator anonymity. Extended.

Sources of Information and Sample Code

  1. This white paper.

  2. The Microsoft Exchange Application Designer's Guide.

  3. The Efd.hlp Help file.

  4. The Olemsg.hlp Help file.

  5. The Application Farm on the World Wide Web, found at the following web address:https://www.microsoft.com/technet/boes/bo/mailexch/exch/tools/appfarm/appfarm1.htm.

  6. The Microsoft Knowledge Base. Use "XCLN" and "Forms" as the query keywords. This query will return all Microsoft Exchange Forms Designer-related articles.