You are on page 1of 60


Sharing computer knowledge and help. -------- As of 7/2009 Currently looking for a new job so I may not be as responsive as normal to comments.--------- ======== New Easy Tech URL ------>

Wednesday, August 20, 2008

Creating Outlook Forms 1 - Step by Step Example
Issue: Use Outlook Forms and Exchange Server to streamline business processes. Gain access to an Outlook form from an internal website. Quick: Identify and define process to switch to Outlook forms Visual/Learning: Outlook forms can be a bit quirky, but for a small to medium size company, Outlook forms can greatly help in streamlining business processes. For our example project, here is a Check Request form to be converted.

Normally someone pulls up the form from our internal website, fills it out, prints it, takes it to his or her manager for a signature, then takes it to finance. An Outlook form could speed-up the whole process plus you can do checking to

assure key fields are filled out. Not only that you can save a little paper and the form is less likely to be lost in the shuffle. I am not really wanting to get into digital signatures so I first contact everyone associated with this process to be sure they are OK with getting an email message and forgoing the signature for this process. I also talk with everyone to be sure I understand the process, what information is needed, and why, and who needs to get it, and in what order they need to get it. The process goes as follows: 1. Requester fills out the form. -Name and Address of Payee -Optional Phone number -Optional Project number -Check amount -Description of the expense and a project number if that applies -Where the check needs to go -Person requesting check -Date needed if before normal check run 2. Manager approves or rejects request - rejected request just need to go back to the requester - approved requests go to requester and to Finance Department 3. If the Manager approves the request Finance confirms the check cut date. Click on the link below for step 2.

Outlook Forms 2 - Open Form Template

Issue: Open Template for Check Request Form Quick: Create Message form, define and layout fields Visual/Learning: In Outlook select Tools menu, Forms, Design a Form.

Select Message form from the Standard Forms Library. All Outlooks forms are base on these basic templates. Most business processes will be based on the Message form which is used for sending email to other users.

When the message form opens you see an email looking form with some extra tabs in parenthesis (). The parenthesis means these are hidden tabs or pages.

Select (P.2) This is the first blank design page which I will use for designing my Check Request Form. The page is gray with a grid pattern of dots that are used to help align our form fields.

Outlook Forms 3 - Placing Text Fields

Issue: Need to place some text on the form for Instructions and so forth. Quick:

Use label control for creating text fields. Visual/Learning: From the tool bar select the tool box button to bring up the tool box window. From the toolbox select the capital A and drag it onto the page.

Your should now see a label box on the page.

Right Click the label box and select properties.

In the Properties box select the Display tab. Give this item a name. I prefix all labels with lbl which makes it easy for me to identify what the different fields are when I set up my tabs. More on this later on. This field is the title of my form "Check Request". This is what goes into the Caption field and is the text that I will see on the form. Next I want this text to stand out so I change

the font from 8 point to 20 point. Click OK.

Whenever I need to place text this is the field I use. Make note here that font setting apply to all text in this label field. You cannot make part of the text Bold for example. To do this you need to use two different label fields.

Outlook Forms 4 - Placing Date Input Field

Issue: Add field for entering date information into an Outlook Form Quick: Create a new text field of type Date/Time Visual/Learning: On the Form menu select "Field Chooser"

Click the New button on the Field Choose window. Give this field a name, in this case I am calling it ReqDate for Request Date.

Under Type drop down select Date/Time and pick a date format from the Format drop down.

Now in Field Chooser under "Userdefined fields in Inbox" I have a new ReqDate Field that I can drag onto the


By doing it this way I get two fields on the workspace. I get the text box that is configured for date type data and I get a label field as well. Right Click on the Text box and select Properties. On the display tab change the name to txtReqDate again this will help when I setup our tabs later on.

Quick Note: Under the Value tab you can see that this box is associated with the field I created "ReqDate". This field is what allows the date to move along with the form as it is emailed around. If this field box were empty then the data would be lost when the

form gets emailed.

Now close out of the Text Box properties and open properties on the label. Change the name to lblReqData and change the caption to "Check Request Date:"

Exit out of properties and you will see that the text does not fit in my label box so I have to use my mouse to click the handle on the left side of the label box and stretch the box so that the text fits again.

Now I am done with the date field.

Outlook Forms 5 - Add Currency and Description

Issue: Add Currency and multi-line text field to Outlook form Quick: Use label control for creating fields for the right type. Modify properties for multiline. Visual/Learning: Use Field Chooser to create a new field called CheckAmount, type is Currency; select the correct format from the drop down.

Drag this new Check Amount object onto the workspace; again this will give me two items. A text box and a label. Open properties for the text box and name it txtCheckAmount. This is a required field on my form. I want all required fields to be Bold so I click on the font button and select bold.

On the label I select properties for the Name, Caption (again this is the text you see on the screen), and I make it bold using the font button

Next I add the description field in Field Chooser leaving the type as Text and the format as Text. I place the field on the workspace and I drag the text box bigger because I want to be able to have room to type a description regarding this check request.

I open properties on the text box and name it but I also check Multi-line so that more then one line of text can entered into this text box.

Edit the label as I have done before. I now have something similar to what you see below:

Outlook Forms 6 - Frames, Radials, Check Boxes

Issue: Need radial controls to select mutually exclusive selection options for where to send the check, and a check box to indicate if supporting material is needed. Quick: Use frame to group controls, Drag radial buttons and check box controls onto the frame and setup field value holders and name properties. Visual/Learning: For the radial buttons it is best to group them together using a frame. All the radial buttons within a frame are tied together. Only one button can be active at a time. This is perfect for selecting our mutually exclusive options for sending the check to either payee, requester, or other. First drag the frame control onto the workspace and size it.

Select properties on the frame and name and set the caption.

Drag 3 radial button controls onto the frame control.

Go to properties on the first radial button and on the Value tab select the New... button to create a field that will remember selection choices. Type and Format should be Text.

The "Property to use" is set to Value and the Value for this radial is set to Payee. The second radial I will set the value to Requester, and on the third the value will be Other.

All three radial buttons use the same CheckDisposition field to hold the value of whichever radial button is selected. As soon as the first radial was assigned the CheckDispositon field, then all the radial buttons in the frame took on that same field. The frame provides this grouping context. Below you see how the 3 radial buttons are named and the Caption used for each.

I am also going to add a check box to this frame for indicating if supporting documentation should be sent along with the check. The check box control will be independent of the radial controls. It just simply toggles on or off.

On the Properties page for the control click on New... and give this field a name "AttachDocumentation", Type - Yes/No, Format - Icon

Now just set the Display Tab Name and Caption. I use cbx to indicate this is a check box.

Outlook Forms 7 - Select Recipient and Align Fields

Issue: Need to make the form pretty and be able to address the form to the approving manager. Quick: Use Field Chooser to add the To field to the form and rename the button. Use Layout menu so align fields. Visual/Learning: From the Field Chooser select "Frequently-used fields" and Drag and Drop the To field onto the workspace.

Now modify the To... button so that it says Approval, or Approving Manager or something like that. Right click on the button and go to properties.

Change the Caption for the button.

I am going to add one more label field for instructions on using the "Check Request Date" field. Notice here that I can edit the label field in the workspace area and type without opening the properties page for the label. Just right click the label and select Edit from the menu to do this.

Now I have a big label with instructions and all the fields we have added.

Time to Clean it up a bit. I click and hold down the left mouse button anywhere on the page and drag a box through any part of a control to select it. Here I select 5 text boxes.

Now that they are selected I can go to the Layout menu and select Align, Left so that the left edges of all the text boxes line up together.

Now the text boxes are aligned left and I select the labels and align them to the right.

Now the label boxes align but the text inside the boxes is not quite right so I am going to set the labels to use right justification. With them all selected I right click to get "Advanced Properties" and select TextAlign and pick "3-Right" from the drop down box.

You can also select

groups of items and fix the vertical spacing from Layout menu, select Vertical Spacing, and one of the options. In some cases it my be easier to manually place controls using the grid as a guide.

Next align the items in the frame control. To give some visual separation of the check box from the radial controls I am going to make a line out of an empty frame with a blank Caption field. I stretch the frame long and skinny. I can also manually adjust the height of the frame on the properties box. Here you can see that it is set to 4.

Play with the layout till it is pretty close to the way I want it.

Outlook Forms 8 - Save Form, Test & Fix Tabs

Issue: Save the form to file, Test and fix problems.

Quick: File Menu, Save As... .oft file. Form menu "run this form" to test. Layout menu "Tab Order..." to set tab ordering of fields. Visual/Learning: Go to the file menu and select Save As...

Save the form with an oft extension.

After saving the file run it and see what it looks like. On the Form menu select "Run This Form". This is just a quick way of testing the form without having to install it first in a forms folder.

On the running form I have a couple of problems. The Message tab is showing so that needs to be hidden. Also the name of the tab that has my form is still named P.2 so that name needs to be changed. Now Click on the P.2 Tab.

The form looks pretty good but in trying to enter data I notice that the cursor does not advance through fields in the right order as I use the tab button. So that needs to be fixed as well.

First of all I select the Message tab and uncheck the "Display This Page" option. Next I select the P.2 tab and select "Rename Page..." and rename the tab to CheckRequest.

To fix the tabs I select Layout, "Tab Order..." to open the Tab Order window.

Here is where having used sensible names for the fields comes in handy. From just looking in this window I can see what fields are labels, text, and frames. It is also easy to tell which ones are the date, Check Amount, Project Fields, etc. All I need to do is start from the top and be sure that I am tabbing through the fields in the right order. I can use the Move Up and Move Down buttons to rearrange fields wherever I see the order is not correct.

The radial buttons and check box inside the frame control are controlled from a different Tab Order window. To change the tab order for the frame, right click on the frame and select "Tab Order..." from the pop up selection window.

Outlook Forms 9 - Read and Reply Forms

Issue: Give Outlook form reader extra or different information that was not on the form when it was sent. Providing forms for responding to, and routing information. Quick: Change form read layout - menu, Separate Read Layout, Save copy of files as .oft to be used for creating reply forms, install on the server, create custom actions on the original form to use reply forms. Visual/Learning: It is time to think about reply forms. Here is what the running form currently looks like.

There are 3 situations where a reply is required. 1. Manager rejects request, 2. Manager approves request, 3. Finance confirms check cut date. 1 and 2 both come from the manager so I could use a single reply form that just had a control to accept or reject the request. On the other hand I would like to route the rejected request just back to the requester, while accepted requests need to go to the finance department as well. I am thinking I want to pre-address these messages so they go to the right places automatically and the quick and dirty way to do this is to use two separate reply forms. I also need a 3rd reply form for responses from the finance department. There is no need to start reply forms from scratch. My current form already has all the right fields in it so just do a Save As and create 3 separate copies of our current form to be modified later.

Before working on the reply forms I want to modify what the receiver sees when he gets a form from the requester. One Outlook form can have two separate layouts. One layout for composing the message and a completely different one for reading the message. This is very useful in this case because I would like to put one set of instructions on the compose page for the person filling out the form, and another set of instructions on the read page for the person responding to the form. To separate out the read page go to the Form menu and select "Separate Read Layout".

Now go to the Form menu again and select "Edit Read Page"

On the read page you see that it starts off as being a copy of what is on the compose page. Below you can see I have changed the Read page by changing the title from "Check Request" to "Check Request Approval". I have also put some instructions in regarding what the person needs to do in order to Approve or Not-Approve the request, and I have deleted the instructions from the read form that were only for the requester to use.

I will also change the data fields to be read only so that the information that came from the requester is locked in. Go to the properties page on each field and check the box for "Read Only"

Now all the fields show as grayed out and their contents will be unchangeable on the read page.

Re-save this form as and OFT file and work on one of the reply forms. Here I have the OFT form that will be used for approved check requests. The title has been changed and all the instructions have been removed. Also all of the data fields have been set to "Read Only".

On the (Message) tab I am going to set the Subject properties under the value tab to be automatically set as "Check Request Approved". Even though the Message page is hidden the Subject will still show up on the form in the Outlook inbox.

I am also going to set the CC field to automatically populate with "Finance Check Approval". This is the name of an Exchange server email group containing the 2 people in finance that will need to see these messages. Now these people will automatically get these messages regarding approved check requests. I could have also addressed this message to individual people but in this case I am using a group. The nice thing about using a group is that you can change where the form goes to by changing the group membership and without having to make changes to the form.

OK Save the Approval form and open the Not-Approved form. Again I change the tile of the Form and I added a box for comments so that the manager can say why this request was rejected.

On the (Message) tab I am going to change the subject to "Check Request Not-Approved" but I am not going to send this message to any additional people.

Save the Not-Approved form edit the last reply form, which is the response form from Finance. Here I changed the title to "Check Request Finance Notification"

And set the subject line to "Check Request Finance Notification"

Outlook Forms 10 - Installing Forms On Exchange

Issue: Install forms so that they are available to all the company employees. Quick: Hide reply forms Properties tab, check box "Use Form only for responses" Install forms in the reverse order in which they are used - Tools, Forms, Publish Form. Create new actions on Actions tab for using reply forms. Visual/Learning: T0 setup custom reply actions for a form, the reply forms have to already be installed. So I install the forms in reverse order. Open up each of the 3 reply froms. On the (Properties) tab of the form select the check box "Use form only for responses". This check box will hide the form in the library.

This box should be checked on all three of the response forms. On the "Check Request" form this box is not checked because this is the one that will get selected from the library to start off the process.

After this box is checked on the "Check Request Not-Approved" and "Check Request Finance Response" forms, I can install these two forms on the Exchange server. Open the "Check Request Not-Approved" form. On the Tools menu select Forms, "Publish Form".

In the drop down box select "Organization Forms Library". Note here that you can only install forms in the "Organization Forms Library" if you have permissions to do so. Give the form a name such as CheckNotApproved, and click Publish

Do the same thing for with the "Check Request Finance Response" form The other two forms require actions to be added so that they will call these response forms. Open the "Check Request Approved" form. When the Finance department gets this form they will need to respond with the "Check Request Finance Response Form". To make this work I will create a custom action on the (Actions) tab.

Click on the New button on the bottom left. This will bring up a "Form Action Properties" box. Give the action a name in this case "Finance Response". Click on the "Forms name" drop down and select "Forms...". This will bring up another "Chose

Form" window. In this new window select "Organization Forms Library". Because I have already installed the reply form, I now see CheckReqFinanceResp in the list. Select this form

and click on open. This takes me back to the "Form Action Properties" window and the "Form name" box has the form I picked. Now select the "Address form like a" area and pick "Reply to All" from the drop down box. I select this because I want everyone involved to know that the process is complete (Manager, Requester, and the other Finance person). I also select to "open the form" so that information from Finance can be entered on the form

before sending. Click OK on this page and then publish this reply form to the Organization Library just as I did with the previous 2 reply forms. Now I am ready to configure and install the main "Check Request" form. Open the form and under (Actions) tab create two new actions. Here you can see I have already created the new actions of "Approved" and "Not-Approved".

Below are the setting from the Approved action. This will open the CheckApproved form from the Organiztional Forms library. This form is set to Reply. This form will go back to the requester becuase of this Reply setting. This form will also go to Finance because several steps back on the "Check Request Reply" form, I set the CC field to automatically populate with the "Finance Check Approval" email group. Lastly this action is set to "prompt the user to open or send". I could also set this to "Send the form immediatly" since there no input required by the manager on this form.

For the "Not-Approved" action I again select the form from the organization library and configure it to address the message like a "Reply". In this case the message will only go back to the requester because I did not automatically populate any of the email address fields on the "Check Request Not-Approved" form. Here I set the action to "Open the form" so that the manager has a chance to enter information about why the request was rejected.

At this point I should have a completely working process.

Outlook Forms 11 - Data Verification

Issue: Insure that all required fields have been filled out. Quick: Set validation formulas for fields on Validation tab of Properties page.

Visual/Learning: The quick way to do this is to open the properties for a field, go to the Validation tab and select the check box "A value is required for this field"

The down side of doing it this way is that the error message you get is pretty vague. All I get for an error is that "A field on this form requires a value". So the poor person filling out the form has to guess which field on the form is missing required data.

A better way to do this is to use formulas to check my fields and assign error messages that are more friendly to work with. The formulas will change a bit depending on what kind of data I am checking. To do this I need to know the name of the field I want to work with and what it is. I am going to work with the text field Payee so I right click on the field go to properties select the Value tab and I see that "Payee" is the name of the field value. Makes sense, so now I go to the Validation tab.

Here I check the box for "Validate this field before closing the form" and I put in the formula box "Asc(Payee)>0". All text is represented to the computer as a number code. The code comes from the American Standard Code for Information Interchange or ASCII for short. In the formula Asc is even a shorter version of ASCII. I look for the ASCII code for the text in the payee text box. As long as that box is not empty it should have an ASCII code of more then zero. That is why my formula tests to see if the ASCII code for the contents of the Payee field is greater then zero. Now the great thing is if it is not greater then zero I get to write my own error message. In this case I put "You must enter a name for the Payee". Now when someone tries to send this form with out filling in the Payee field they get a message that tells them exactly what needs to be fixed. This trick should work with pretty much any text field.

For radial buttons the same trick works because when I click on the button it assigns a text value to the field. First get the name of the field.

Check if the ASCII code for that field is greater then zero, and specify an error message.

The one thing of note here is that when you set validation on one radial button all the radial buttons in that group get the same setting, so you do not have to do it on each individual button.

The check amount is a number field and the default value gets set to zero. Because it does not make sense to request a check for zero dollars I will check that the value of CheckAmount is not equal to zero. <> in the formula means not equal.

That is pretty much all we need for this form because we are only checking for text and number fields in this form. But if you need to check a date field this is how I have done it in the past. This formula is from a New Hire form I created. The default date field shows "none" when you run an Outlook form, but the computer really sees that as some date in the distant past. Now() is a function that gives me todays date. A formula like Now()<[StartDate] would check that the date entered was after today. So tomorrow, next week, or next year would be fine. A start date of today's date, yesterday or any older date would generate an error because today is not an earlier or smaller date then the start date. In the case of the example below I am checking for Now() minus 10 days. In theory New Hire forms should be filled out before people start work, but in reality that is not always the case. This formula gave people a few days to get in the New Hire form after the employee starting working with no error, but it would still give an error if they forgot to put anything for a date.

Outlook Forms 12 - Access Forms & Folders With Website Link

Issue: Want to be able to link to Outlook Forms and Folders using internal intranet website. Quick: JavaScript to access Exchange server organizational forms library. Client machine needs local outlook profile pointing to the Exchange server in order to open the forms. Link to folders like outlook://Public%20Folders/All%20Public %20Folders/Administration/CompanyCalendar Visual/Learning: Found good information on how to do this at: Be aware that you may need to lower browser security for the Local Intranet zone. First get the Message Class Id for your form. In Outlook the normal way you would get to a form is by going to the Tools menu, selecting Forms, and selecting "Choose Form..."

In the "Choose Form" window under "Look In:" select "Organization Forms Library" and select the form CheckRequest. By clicking Open you could launch the form and fill it out. In this case I just want to know the message class, so click on the "Details" button and you can see the message class at the bottom of the window.

With the message class information I can modify the java script found on the aforementioned website to access my form. Here is what the first part of the script looks like. Just sets up variables and the function to open the form.

The next part of the script I have highlighted in yellow the parts I changed to launch 3 company forms using buttons, or to launch the same 3 forms using a web link. This jpg may be hard to see. I tried just entering the text here but each time I did the blog site just tried to interpret the code. The part that gets changed is the Title of the form that you see on the internal website and the message class that gets passed to the function we saw above for opening the form.

When I open the web page in my browser I can now see three buttons and three links for my 3 company forms.

When I click on one of these links I get a warning:

I click yes, and now my form opens so I can fill it out and hit the send button.

While I am on the topic of accessing Exchange information from an internal website, I will mention getting to public folders. Here is a link to get to our shared company calendar in the public folders. outlook://Public%20Folders/All%20Public %20Folders/Administration/CompanyCalendar The calendar is under Administration, which is under "All Public Folders", which is under "Public Folders" %20 in this link represents a space character. You can use a link this to access pretty much any public folder.

Outlook Forms 13 - Completed Check Request Form

Issue: Screen shots of the completed check request form. Quick/Visual/Learning: This is the form that the user sends to the manager:

This is the form the manager receives. Notice I have added a picture box that shows the approving manager where the buttons are for approval.

Here is what the requester and finance department gets when the manager approves the check. Notice that finance has a button that allows them to respond, "Finance Response" button in the upper left corner.

Here is what the

finance response looks like, check cut date and any notes:

Here is what the manager response looks like if the check is Not-Approved. This response goes only to the requester and is not seen by finance. Just has place to explain why it was rejected.

If you do not see your reply buttons on the tool bar check the properties of the Approve and Disapprove actions on the Actions page of the form. The show action box should be checked and the Menu and Tool bar option should be selected.

Outlook Forms 14 - Stand Alone Form

Issue: How to create and use a simple Outlook from without an Exchange server. Quick: Create the form. Save in Personal Folders for each user.

Visual/Learning: Here is an example of a form I created for the help desk in a previous company. There is a place for name, phone number, and some quick click radial buttons.

If you want to know how to create the radial buttons and so forth please refer back to the start of this series:

Outlook Forms 1
During a big laptop roll out project, the help desk group wanted to provide a quick and easy way for users to contact the help desk. We added an Outlook form .oft file to file laptop image so this form showed up on the computer desktop. Sue Mosher, who has written several wonderful books on Outlook forms, informed me that as of Outlook 2003 SP2 you can no longer launch forms from an oft file. Now you must install the form in Outlook Personal Forms Library (or on the Exchange server). Here is a link she gave me to the Microsoft page regarding the changes. Thanks, Sue! You need to make sure that the form definition is sent along with the message, so be sure this is set on the (Properties) page of the form as you see below.

On the (Message) tab I address this form to the IT Helpdesk group. You can set this

anyway you like. It could go to a particular hard coded email address, or if you have an Exchange server you can send it to a group or to a public folder. On the subject tab I created a formula so that the subject line gets populated with the requester's name.

To see this first I right click on the subject field and go the Value tab. Here you see that I am setting the initial value for the subject field. The text "Help desk request from " is followed by the "&" which adds on the field [InsertName]. This is the custom field on the form where the user enters his name. So for example, if the user name was Joe Brown, when the user launches the form and enters his name, the subject line will change to: Help desk request from Joe Brown

The one element that I have not talked about on this form is the Logo. To get a logo on the form I drag and drop a picture tool onto the form.

Right click on the picture box and select advance properties. Click on the picture property and point it to the location of your logo file (or any picture want to have on your form).

In the next forms post I will talk about how to collect data from these forms.

Outlook Forms 15 - Collecting Data

Issue: Need a good way to get data out of a group of Outlook forms. Quick: Install the form and create views based on the form fields. Use copy and paste to move data to a spreed sheet. Visual/Learning: After collecting data from users the help desk needs a way to see what each request is about. First I need to install the form somewhere so that you can get to the fields. In previous post I have published to the Organiztions Forms folder. This time I am going to publish the form in the Personal Forms (which does not require Exchange server). Open the form and select Tools => Forms => "Publish Form As..."

Select the "Personal Forms Library". Give the form a name and publish it.

I am going to create a seperate folder for all the help desk forms to go into.

Here I have 3 forms that are in the folder. Now I want to change the columns I see in the view.

Click on View => "Current View" => "Define Views"

Copy the Current view and give it a new name.

When I click OK I get a View Summery window. I am going to remove the fields I don't want first.

Now I am going to add fields from the form I created and installed in the personal forms folders. From the drop box pick Forms...

Select "Personal Forms" and pick the HelpDesk form. Click on Add.

Now my "Available fields" shows the fields from my form. I select the ones I want to see in the new view.

I click OK and apply the view and now I see new columns in my view of the HelpDesk folder and I can sort by Severity if I want. Note that you the radial values have to be setup correctly to see relevant data. If you have problems with this see my previous post regarding how to do this.

You can also do formating on the columns right in the view. Right click on the heading bar and select "Format Columns..." and you can change the way the date and time looks or rename the column headings.

What if I want to put this data into a spread sheet and take it to a meeting? No problem. Select all of the lines in the view and press cntrl-c to copy.

Open Excel and press cntrl-v to past what you see in this view into the sheet. You should now see the data

and you automatically get the heading as well.

Outlook Forms 16 - Update Existing Forms

Issue: You want to modify existing Outlook forms to use an updated or different form. Quick/Visual/Learning: At times I have had a need to update old Outlook forms to a newer one. I once had a helpdesk form that got changed along the way. The updated form was being stored in the same public folder as the old helpdesk form. The problem was that the people who refered to the data wanted the old forms to have the same look as the new forms. The form message class controls this and is stored in each item, so each item needed to be updated to use the new form instead of the old one. The solution at the time was to write a script that would update the form message class for each message. I may still have the script I used somewhere but I saw this one and it is much nicer then my old one. I will put the link to it here: Helen Feddema's VB Script method followed by instructions on how to use it below. Download the file and extract the zipped files. For this example I am going to change a contact form. Here is the standard one:

Here is the updated one with some extra fields for christmas gift list and so on:

Of the downloaded files in the zip, the file that really matters is "Reset Message Class.oft". You can install this in your personal forms library if you want or you can open it in design mode and run it from there. Either way should w0rk. Next you need to know the names of the old and new message classes. You probably already know this but if you don't you can get it by changing the folder view. Current View

Go to view/ Arrange By / Current View / Phone List

With the list view up Right Click in the list headings area and a menu will appear. Select Field Chooser

In the Field Chooser Box Select "All Contact Fields" in the drop down. Select Message Class from the list

Drag the Message Class field to the headings bar.

Now you can see the names of the message classes in the list view.

Now it is time to run the "Reset Message Class.oft" form . Click the Select Folder button and Select the folder that has the forms you want to change.

Click the Change button and enter the old and new Message Class Names. Click on Proceed.

It may take a couple of minutes depending on the number of records you have to update so be patient. When done you should see indication of how many items were processed and an OK Button.

Back on the list view of our contacts folder you will see that the Message class has been changed on all of our existing forms.