![]() |
|
Outlook Add-in with C#
Hi,
I am trying to add a new form tab to the Appointments Item in Outlook. Is it possible to do this using C# in VSTO (Adding controls, Publishing the form, etc) ? Also is it possible to access the controls with C#, I know it can be done in VB by using: item.ModifiedFormPages["Test"].Controls but is it possible to do it in C# ? and if so how is it done Thanks. |
Outlook Add-in with C#
If you add a tab (actually make use of a tab that is already there) you will
one-off the form, which is bad. The best thing is to design the custom form in the forms designer. -- 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 "lg" wrote in message ... Hi, I am trying to add a new form tab to the Appointments Item in Outlook. Is it possible to do this using C# in VSTO (Adding controls, Publishing the form, etc) ? Also is it possible to access the controls with C#, I know it can be done in VB by using: item.ModifiedFormPages["Test"].Controls but is it possible to do it in C# ? and if so how is it done Thanks. |
Outlook Add-in with C#
Hi Ken,
I think it might work if I customize the form using the forms designer but I will still need to be able to access the controls on the new tab. For example, I create a new tab (on the appointmentItem) called "Extra Details" and add a combo box and a text box. How do I access these control using C# with VSTO ? Thanks of the help :) "Ken Slovak - [MVP - Outlook]" wrote: If you add a tab (actually make use of a tab that is already there) you will one-off the form, which is bad. The best thing is to design the custom form in the forms designer. -- 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 "lg" wrote in message ... Hi, I am trying to add a new form tab to the Appointments Item in Outlook. Is it possible to do this using C# in VSTO (Adding controls, Publishing the form, etc) ? Also is it possible to access the controls with C#, I know it can be done in VB by using: item.ModifiedFormPages["Test"].Controls but is it possible to do it in C# ? and if so how is it done Thanks. |
Outlook Add-in with C#
Something along the lines of this should work.
First, set a reference to the COM library MS Forms 2.0 (the controls, pages, etc. for Outlook forms). Then, in your VSTO code (I'm showing this as part of the startup procedure, it can be anywhere you need to work with the controls). I just used ActiveInspector, assuming it was the custom form needed. But the code should work as an example, and made up control names. public partial class ThisApplication { private Outlook.Application m_Application; private Outlook.Inspector oInsp; private OLForms.Pages colPages; private OLForms.Page oPage; private OLForms.Controls colControls; private void ThisApplication_Startup(object sender, System.EventArgs e) { OLForms.TextBox oTBox; OLForms.ComboBox oCombo; m_Application = application as Outlook.Application; oInsp=m_Application.ActiveInspector; colPages = oInsp.ModifiedFormPages; oPage = colPages.Item("MyPage"); colControls = oPage.Controls; oTBox = colControls.Item("MyTextBox"); oCombo = colControls.Item("MyCombo); From there the oTBox and oCombo objects expose all the properties exposed by text box and combo box controls. -- 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 "lg" wrote in message ... Hi Ken, I think it might work if I customize the form using the forms designer but I will still need to be able to access the controls on the new tab. For example, I create a new tab (on the appointmentItem) called "Extra Details" and add a combo box and a text box. How do I access these control using C# with VSTO ? Thanks of the help :) |
Outlook Add-in with C#
This might seem like a bit of a dumb question, I added the reference "MS
Forms 2.0" to the project but the Visual Studio dos'nt seem to recognize OLForms as a valid namespace, am I missing some else ? "Ken Slovak - [MVP - Outlook]" wrote: Something along the lines of this should work. First, set a reference to the COM library MS Forms 2.0 (the controls, pages, etc. for Outlook forms). Then, in your VSTO code (I'm showing this as part of the startup procedure, it can be anywhere you need to work with the controls). I just used ActiveInspector, assuming it was the custom form needed. But the code should work as an example, and made up control names. public partial class ThisApplication { private Outlook.Application m_Application; private Outlook.Inspector oInsp; private OLForms.Pages colPages; private OLForms.Page oPage; private OLForms.Controls colControls; private void ThisApplication_Startup(object sender, System.EventArgs e) { OLForms.TextBox oTBox; OLForms.ComboBox oCombo; m_Application = application as Outlook.Application; oInsp=m_Application.ActiveInspector; colPages = oInsp.ModifiedFormPages; oPage = colPages.Item("MyPage"); colControls = oPage.Controls; oTBox = colControls.Item("MyTextBox"); oCombo = colControls.Item("MyCombo); From there the oTBox and oCombo objects expose all the properties exposed by text box and combo box controls. -- 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 "lg" wrote in message ... Hi Ken, I think it might work if I customize the form using the forms designer but I will still need to be able to access the controls on the new tab. For example, I create a new tab (on the appointmentItem) called "Extra Details" and add a combo box and a text box. How do I access these control using C# with VSTO ? Thanks of the help :) |
Outlook Add-in with C#
My bad. I left out some alias declarations in the "using" section before the
start of class ThisApplication: using Outlook = Microsoft.Office.Interop.Outlook; using OLForms = Microsoft.Vbe.Interop.Forms; using Office = Microsoft.Office.Core; etc. -- 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 "lg" wrote in message ... This might seem like a bit of a dumb question, I added the reference "MS Forms 2.0" to the project but the Visual Studio dos'nt seem to recognize OLForms as a valid namespace, am I missing some else ? |
Outlook Add-in with C#
I got the OLFroms working now thanks, but I am still having a problem with
getting a handle to the pages in the inspector. With the line of code: colPages = oInsp.ModifiedFormPages; I had to type cast "oInsp.ModifiedFormPages" because the ModifiedFormPages property returns an object. When I type cast it to "Outlook.Pages" it works alright but if I type cast it "OLForms.Pages" it dosnt work. Do you have any sugguestions around this ? "Ken Slovak - [MVP - Outlook]" wrote: My bad. I left out some alias declarations in the "using" section before the start of class ThisApplication: using Outlook = Microsoft.Office.Interop.Outlook; using OLForms = Microsoft.Vbe.Interop.Forms; using Office = Microsoft.Office.Core; etc. -- 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 "lg" wrote in message ... This might seem like a bit of a dumb question, I added the reference "MS Forms 2.0" to the project but the Visual Studio dos'nt seem to recognize OLForms as a valid namespace, am I missing some else ? |
Outlook Add-in with C#
Hi Ken,
I found what was wrong, I had to type cast it to Outlook.Pages then when I have the pages object call the page I want and type cast that to OLForms.UserForms, eg: UserForm = (OLForms.UserForms) pages["Item"]; I have another question that you might be able to help with. I am trying to add the tab to the appointment item, now I can add the tab (page) but it is not been made visible, I can only see it in design mode on the form. Do you know how to make it visible ? Thanks for the help. "lg" wrote: I got the OLFroms working now thanks, but I am still having a problem with getting a handle to the pages in the inspector. With the line of code: colPages = oInsp.ModifiedFormPages; I had to type cast "oInsp.ModifiedFormPages" because the ModifiedFormPages property returns an object. When I type cast it to "Outlook.Pages" it works alright but if I type cast it "OLForms.Pages" it dosnt work. Do you have any sugguestions around this ? "Ken Slovak - [MVP - Outlook]" wrote: My bad. I left out some alias declarations in the "using" section before the start of class ThisApplication: using Outlook = Microsoft.Office.Interop.Outlook; using OLForms = Microsoft.Vbe.Interop.Forms; using Office = Microsoft.Office.Core; etc. -- 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 "lg" wrote in message ... This might seem like a bit of a dumb question, I added the reference "MS Forms 2.0" to the project but the Visual Studio dos'nt seem to recognize OLForms as a valid namespace, am I missing some else ? |
Outlook Add-in with C#
Have you tried setting the Visible property? The Object Browser will show
you everything available for any object. If you're making these customizations using code I still say that's the worst thing you could do. It will one-off the forms, causing all sorts of problems. -- 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 "lg" wrote in message ... Hi Ken, I found what was wrong, I had to type cast it to Outlook.Pages then when I have the pages object call the page I want and type cast that to OLForms.UserForms, eg: UserForm = (OLForms.UserForms) pages["Item"]; I have another question that you might be able to help with. I am trying to add the tab to the appointment item, now I can add the tab (page) but it is not been made visible, I can only see it in design mode on the form. Do you know how to make it visible ? Thanks for the help. |
Outlook Add-in with C#
I got it to work, thanks. Why would this one-off cause a problem, the C# code
is part of an add-in that is installed. So, a user with the add-in installed sends a meeting request to a user that dosnt have the add-in, the user with out the add-in just wont see the new tab. Or is this the case ? "Ken Slovak - [MVP - Outlook]" wrote: Have you tried setting the Visible property? The Object Browser will show you everything available for any object. If you're making these customizations using code I still say that's the worst thing you could do. It will one-off the forms, causing all sorts of problems. -- 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 "lg" wrote in message ... Hi Ken, I found what was wrong, I had to type cast it to Outlook.Pages then when I have the pages object call the page I want and type cast that to OLForms.UserForms, eg: UserForm = (OLForms.UserForms) pages["Item"]; I have another question that you might be able to help with. I am trying to add the tab to the appointment item, now I can add the tab (page) but it is not been made visible, I can only see it in design mode on the form. Do you know how to make it visible ? Thanks for the help. |
All times are GMT +1. The time now is 07:07 AM. |
|
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com