Introduction:
This article clearly
explains about how to automate or force the Send/Receive event in the outlook
using vb.net. This code can be used as a service and made to automate the
Send/Receive event in the outlook for a regular interval.
Summary:
The following steps will
help us to create the application.
Step 1:
Start Microsoft Visual Studio .NET.
Step 2:
On the File menu, click New, and then click Project.
Step 3:
Click Visual Basic Projects under Project Types, and then click
Console Application under Templates. By default, Module1.vb is
created.
Step 4:
Add a reference to the Microsoft Outlook 10.0/11.0 Object Library.
To do this, follow these steps:
-
On the Project
menu, click Add Reference.
-
On the COM
tab, click Microsoft Outlook
10.0/11.0 Object Library, and then click Select.
-
Click OK in
the Add References dialog box to accept your selections. If you
are prompted to generate wrappers for the library that you selected,
click Yes.
Step 5:
In the Code window, replace all of the code with the following:
Automate
Send & Receive:
Imports
System.Reflectio
Module
Module1
Sub Main()
Try
'Microsoft.Office.Interop.Outlook._Application
' Create an
Outlook application.
Dim oApp As Outlook._Application =
New Outlook.Application
' Get the
MAPI NameSpace and Logon values.
Dim oNS As Outlook._NameSpace =
CType(oApp.GetNamespace("MAPI"),
outlook._NameSpace)
oNS.Logon(Missing.Value,
Missing.Value, True,
True)
'Get Explorer
for the folder.
Dim oExp As Outlook._Explorer =
oFolder.GetExplorer(False)
'Get the Menu
bar.
Dim oCmdBars As office._CommandBars =
oExp.CommandBars
Dim oCmdBar As office.CommandBar =
oCmdBars("Menu Bar")
Console.WriteLine(oCmdBar.Name)
Dim oBarCrls As
office.CommandBarControls = oCmdBar.Controls
Console.WriteLine(oBarCrls.Count)
Dim oBP As office.CommandBarPopup
'Get the
Tools menu.
Dim oBPop As office.CommandBarPopup =
CType(oBarCrls("Tools"),
office.CommandBarPopup)
Console.WriteLine(oBPop.Caption)
oBarCrls = oBPop.Controls
Dim oBn As office.CommandBarControl
'Get the
Send/Receive menu.
Dim oSendReceive As
office.CommandBarPopup =
CType(oBarCrls("Send/Receive"),
office.CommandBarPopup)
Console.WriteLine(oSendReceive.Caption)
'Get the Send
and Receive All menu.
oBarCrls =
oSendReceive.Controls
'TO DO: If
you use the Microsoft Outlook 10.0 Object Library,
'uncomment
the following line.
'Dim
oSendReceiveAll As Office.CommandBarControl =
'CType(oBarCrls("Send
and Receive All"), Office.CommandBarControl)
'TO DO: If
you use the Microsoft Outlook 11.0 Object Library,
' uncomment
the following line.
'Dim
oSendReceiveAll As Office.CommandBarControl =
'
CType(oBarCrls("Send/Receive All"), Office.CommandBarControl)
Console.WriteLine(oSendReceiveAll.Caption)
'Do the
action.
oSendReceiveAll.Execute()
'Log off.
oNS.Logoff()
'Clean up.
oApp =
Nothing
oNS =
Nothing
oFolder =
Nothing
oExp =
Nothing
Catch e As Exception
Console.WriteLine("{0}
Exception caught.", e)
End Try
End Sub
Step 6:
Press F5 to build and run the program.
Step 7:
Verify that the Contact Detail (contact detail in outlook format) is received
through mail
Conclusion:
This process even can be achieved by inbuilt schedule
option of the Microsoft Outlook. If it was done it needs the outlook to be open
but in our case its not needed and the same is achieved through the vb.net
coding.