Contact Form Swapping

E

envywaits

I'm using Outlook 2003 and am trying to find a way to have Outlook open
a selected contact item with a customized form. I already know how to
change the default form for new contacts, and how to programmatically
change the message class of all the existing contact items to use a new
form, but I'm looking for something slightly different. Here's what I
want the end user to be able to do:

1. Select a contact in their contacts list.
2. Click a button on their toolbar that opens the selected contact
with a custom form (assigned in the programming behind the button)

Viewing/Editing a selected contact with a custom form should be
available as an -option-, not a default.

Much appreciated!

--Patrick
 
S

Sue Mosher [MVP-Outlook]

You already know the answer, if you think about it: You must change the value of the MessageClass property and save the selected item. Once you do that, you can release the item's object, get it again (use the EntryID), and display it.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
E

envywaits

Yes, I was very close and thank you for the quick response. :)

Now, I'm trying to figure a way to reset the message class to the
default when the contact item is closed. Any thoughts?
 
E

envywaits

Here's what I came up with. I set up a button on the toolbar. It
takes a selected contact, swaps out the message class so it will
display using a custom form, then resets the message class so persons
who do not need or care to use the custom form won't be troubled by it.

Sub CustomFormViewer()
Dim objApp As Application
Dim objItem As Object

Set objApp = CreateObject("Outlook.Application")
Set objItem = objApp.ActiveExplorer.Selection.Item(1)

If objItem.Class = olContact Then
objItem.MessageClass = "IPM.Contact.CC_ContactForm02"
objItem.Save
Set objItem = objApp.ActiveExplorer.Selection.Item(1)
objItem.Display
objItem.MessageClass = "IPM.Contact"
objItem.Save
End If

Set objItem = Nothing
Set objApp = Nothing

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top