在Visual Studio中,我创建一个插件,在addin_startup我设置的Outlook应用程序,以呼叫展望VBA代码从C#
app = (Microsoft.Office.Interop.Outlook.ApplicationClass)(Marshal.GetActiveObject("Outlook.Application"));
然后我打电话一个runMacro功能,这是我从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());
}
}
我通过这个功能,我的Outlook应用程序对象和宏在阵列上运行的名字,所以......
RunMacro(app, new Object[] { "showFormDisplay" });
我得到下面的异常
Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
非常感谢您的帮助。这里的问题是,这个例子中使用的函数似乎不适用于Outlook对象,它们似乎是定制的单词,excel访问....(thres这是一个很好的机会,我错了) –
tom
2010-11-12 11:50:56
更多想法,你提供的链接只是不会工作当使用访问时:/ – tom 2010-11-15 10:10:21
@Tom:恐怕不行,我通常只是自动化Excel和Word,我还没有尝试任何其他Office应用程序。 – 2010-11-15 10:27:01