In this article we will see how
to use VB Script with our outlook custom forms how to open this custom form from
our Vb .net application.
For better understanding we take an example:
We will add two controls- label and combo box(cmbTemplate) in our custom form,
combo box is used for template selection, means user use predefined templates
,when user select any template from combo box, the template will add
automatically in message body.

Now next step is to bind combo box with templates, this work will perform with
the help of VB Script
Open vbscript page (click on
'View code' button, Script Editor Page will be open)
We can see various
events of this custom form in 'insert Event Handler' window (go to script menu
item and
click on 'Event Handler...')

Create open event :
Function Item_Open()
End
Function
Now next step is how
to use vbscipt for adding items in cmbTemplate
First thing we cannot use control directly in vbscript we will need to create
object of control so we can use these:
Set objPage = Item.GetInspector.ModifiedFormPages("Message")
Set objTemplate =
objPage.Controls("cmbTemplate")
Add Items in cmbTemplate:
objTemplate.additem "please Call me immedi...."
objTemplate.additem "Hope you have a good trip...."
objTemplate.additem "Everything is Ok...."
objTemplate.additem "I am busy now...."
Next step is Template
selection from cmbTemplate:
We can use only click event of
any control on this page so that we create Click event of cmbTemplateby
writing
Sub
cmbTemplate_Click()
End
sub
Apply this code on
above event
Set objPage = Item.GetInspector.ModifiedFormPages("Message")
Set objTemplate = objPage.Controls("cmbTemplate")
Item.Body=objTemplate.Text
Now we can see preview
by click on 'Run this Form' button on custom form page menu bar.
We need to publish the
form in the forms library or in the folder where you want to use .If you publish
it in a public folder, it will be available for all users who have permission to
access the folder. If you publish it in a personal folder, it's for your use
only.
In this example we
publish this form in Personal Forms Library with name 'MyApplicaationForm'.
Call custom form from vb.net
side:
For calling this custom form from
vb.net form with the help of these lines of code:
Dim outLookApp As New Microsoft.Office.Interop.Outlook.Application()
Dim objNameSpace As Microsoft.Office.Interop.Outlook.NameSpace
= outLookApp.GetNamespace("MAPI")
Dim objFolder As Microsoft.Office.Interop.Outlook.MAPIFolder
=
objNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox)
Dim MailItem As Microsoft.Office.Interop.Outlook.MailItem
=DirectCast(outLookApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem),
Microsoft.Office.Interop.Outlook.MailItem)
MailItem = DirectCast(objFolder.Items.Add("IPM.Note.MyApplicationForm"),
Microsoft.Office.Interop.Outlook.MailItem)
MailItem.Display("IPM.Note.MyApplicationForm")
(Need to add
Microsoft.Office.Interop.Outlook library referance)
Join the conversation! Your thoughts help the community grow.