Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Outlook / Programming Add-Ins / January 2007

Tip: Looking for answers? Try searching our database.

Publish form Issues

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
spareway - 15 Jan 2007 16:18 GMT
Hi,

I am trying to publish a form via an outlook addin. When  I call
Publish Form, I get an exception that says: one or more paramters are
incorrect.

any ideas?

thanks,

craig

Outlook.MailItem theItem;
Outlook.FormDescription theDesc;

//Environment.GetFolderPath(Environment.SpecialFolder.Personal)
Ol.MAPIFolder draftFolder =
OutlookApp.Session.GetDefaultFolder(Ol.OlDefaultFolders.olFolderDrafts);
theItem = (Outlook.MailItem)
this.OutlookApp.CreateItemFromTemplate(formPath, draftFolder);
theDesc = theItem.FormDescription;
theDesc.DisplayName = formName;

Ol.MAPIFolder inboxFolder =
OutlookApp.Session.GetDefaultFolder(Ol.OlDefaultFolders.olFolderInbox);
theDesc.PublishForm(Outlook.OlFormRegistry.olPersonalRegistry,inboxFolder
);
theItem.Close(Outlook.OlInspectorClose.olDiscard);
Ken Slovak - [MVP - Outlook] - 15 Jan 2007 16:30 GMT
It looks more or less OK to me.

Does it help any if you cast everything as you retrieve it? Are all your
objects OK if you step the code in the debugger?

Signature

Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm

> Hi,
>
[quoted text clipped - 24 lines]
> );
> theItem.Close(Outlook.OlInspectorClose.olDiscard);
spareway - 15 Jan 2007 17:42 GMT
Hi Ken,

All my objects look ok, except for the inBoxFolder.  I am not sure if
this is an issue but when i look at the UserPermissions property of the
inBoxFolder object it says:

<error: an exception of type:
{System.Runtime.InteropServices.COMException} occurred>.

could this be the problem?

Also the DisplayName is set to IPM.Note.XXX.  Is this ok?  What is
display name used for anyway?

thanks,

craig

> It looks more or less OK to me.
>
[quoted text clipped - 37 lines]
> > );
> > theItem.Close(Outlook.OlInspectorClose.olDiscard);
Ken Slovak - [MVP - Outlook] - 15 Jan 2007 18:24 GMT
A problem with the Inbox would definitely be a problem with your code.
However, I don't know what the UserPermissions property is in the Inbox
folder, it's not an exposed property in the Outlook object model.

DisplayName defaults to the custom MessageClass unless you enter a different
string for that property when the custom form is published. It's not an
important property for anything other than what shows up in the custom forms
manager.

Signature

Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm

> Hi Ken,
>
[quoted text clipped - 13 lines]
>
> craig
spareway - 23 Jan 2007 23:11 GMT
I figured out a solution. The problem was with the second parameter of
publishform.

                                                               string
dllPath ;
                object missing = System.Reflection.Missing.Value;
                Ol.MailItem theItem;
                Ol.FormDescription theDesc;

                dllPath = GetAssemblyPath();
                //Environment.GetFolderPath(Environment.SpecialFolder.Personal)
                             theItem = (Ol.MailItem)
this.OutlookApp.CreateItemFromTemplate(dllPath + formPath, missing);
                theDesc = (Ol.FormDescription) theItem.FormDescription;
                theDesc.DisplayName = formName;

                theDesc.PublishForm(Ol.OlFormRegistry.olPersonalRegistry,missing );
                theItem.Close(Ol.OlInspectorClose.olDiscard);

                Marshal.ReleaseComObject(theItem);
                Marshal.ReleaseComObject(theDesc);

On Jan 15, 1:24 pm, "Ken Slovak - [MVP - Outlook]"
<kenslo...@mvps.org> wrote:
> A problem with the Inbox would definitely be a problem with your code.
> However, I don't know what the UserPermissions property is in the Inbox
[quoted text clipped - 28 lines]
>
> > craig- Hide quoted text -- Show quoted text -
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.