Greetings all,
I'm having a problem programmatically calling SendAndReceive in my Outlook Addin. I'm using Visual Studio 2008 and Outlook 2007. I expect this is due to me not having a complete understanding of what is going on in my code, but I'm hoping someone will be willing to enlighten me.
Here's a simplified version of the code I'm trying to make work. Most of this was put in place using the VS>New Project>Outlook 2007 Add-in function.
public partial class ThisAddIn
{
private Outlook.Inspectors inspectors;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
inspectors = Application.Inspectors;
inspectors.NewInspector += new Outlook.InspectorsEvents_NewInspectorEventHandler(inspectors_NewInspector);
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
private void inspectors_NewInspector(Outlook.Inspector inspector)
{
try
{
Globals.ThisAddIn.Application.Session.SendAndReceive(false);
}
catch (Exception exc)
{
MessageBox.Show("Item Write - Send/Receive failed.\n" + exc.Message.ToString(), "OK");
}
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
This is pretty simplified, but my intention is to trigger a "F9" send receive all when opening an inspector. I've also trying replacing the code in try block with this:
Outlook.Application app = Application;
Outlook.NameSpace nsp = app.GetNamespace("Mapi");
nsp.Logon("Mapi", null, true, false);
nsp.SendAndReceive(true);
with the same results.
Speaking of results. In the debugger, when I hit either
Globals.ThisAddIn.Application.Session.SendAndReceive(false);
or
nsp.SendAndReceive(true);
, the program throws an exception with the message: "The operation failed."
Any thoughts on what I'm doing wrong would be much appreciated.
Thanks,
Steve