Chamar o código VBA do Outlook a partir de c #
No visual studio, estou criando um suplemento. No addin_startup, estou configurando um aplicativo do Outlook como
app = (Microsoft.Office.Interop.Outlook.ApplicationClass)(Marshal.GetActiveObject("Outlook.Application"));
então estou chamando uma função runMacro que recebi do 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());
}
}
Eu passo essa função, meu objeto de aplicativo do Outlook e o nome da macro para executar em uma matriz, assim ...
RunMacro(app, new Object[] { "showFormDisplay" });
Eu recebo a seguinte exceção
Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))