在 Visual Studio 中,我正在创建一个插件,在 addin_startup 中,我将 Outlook 应用程序设置为
app = (Microsoft.Office.Interop.Outlook.ApplicationClass)(Marshal.GetActiveObject("Outlook.Application"));
然后我调用一个从 msdn 获得的 runMacro 函数
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))
我不知道你为什么会遇到确切的问题,我假设一个或多个参数不正确,但不确定,因为我从未按照你尝试的方式做过。
我建议查看以下文章,获取使用稍微不同的代码的完整示例,您可以在代码中重用:如何:使用 Visual C# .NET 中的自动化运行 Office 宏
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)