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.