Llame al código de Outlook VBA desde c #
En Visual Studio estoy creando un complemento, en addin_startup estoy configurando una aplicación de Outlook para
app = (Microsoft.Office.Interop.Outlook.ApplicationClass)(Marshal.GetActiveObject("Outlook.Application"));
entonces estoy llamando a una función runMacro que obtuve de msdn
private void RunMacro(object oApp, object[] oRunArgs)
{
try
{
oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs);
}
catch (Exception e)
{
MessageBox.Show(e.GetType().ToString());
}
}
Paso esta función, mi objeto de aplicación de Outlook y el nombre de la macro para ejecutar en una matriz, así que ...
RunMacro(app, new Object[] { "showFormDisplay" });
Me sale la siguiente excepción
Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))