Le Café Central de Deva
..... Deva blogs!!
Whenever we work with Outlook 2007 UI, we click either "Send/Receive button" or press "F9" to send and receive emails. In couple of our cases we use to do programmatically you can make use of Outlook Object Model's (OOM) SendAndReceive method. You need to know that calling the SendAndReceive method is synchronous only.
Here, showProgressDialog - Indicates whether the Outlook Send/Receive Progress dialog box should be displayed, regardless of user settings
Using with Outlook Object Model & Visual Basic 6:
Use NameSpace.SendAndReceive Method. Initiates immediate delivery of all undelivered messages submitted in the current session, and immediate receipt of mail for all accounts in the current profile.
Using in .Net environment & Outlook interop:
Use NameSpaceClass.SendAndReceive Method (Microsoft.Office.Interop.Outlook). The types and members of the Microsoft.Office.Interop.Outlook namespace provide support for interoperability between the COM object model of Microsoft Office Outlook 2007 and managed applications that automate Outlook.
This is a .NET class or a member of a .NET class created when processing a COM coclass that is required by managed code for interoperability with the corresponding COM object. Use this class only when you have to access an earlier event in this class that has been subsequently extended in a later version of Outlook. Otherwise, use the .NET interface derived from the COM coclass.
Code snippet (used in the add-in):
1: public virtual void _NameSpace.SendAndReceive (
2: [InAttribute] bool showProgressDialog
then we need to use the SyncObject,
1: //trap the SyncObject.SyncStart Event
2: this.Application.Session.SyncObjects.SyncStart += new Microsoft.Office.Interop.Outlook.SyncObjectEvents_SyncStartEventHandler(ThisAddIn_SyncStart);
4: //finally don't forget to trap the SyncObject.SyncEnd Event
5: this.Application.Session.SyncObjects.SyncEnd += new Microsoft.Office.Interop.Outlook.SyncObjectEvents_SyncEndEventHandler(ThisAddIn_SyncEnd);
1: Dim instance As NameSpaceClass
2: Dim showProgressDialog As Boolean
4: CType(instance, _NameSpace).SendAndReceive(showProgressDialog)
Wonderful stuff & good explanation!! I never thought such thing existed with Outlook Object Model.