如何使用 VSTO 从另一个 .NET 应用程序在 Word 中操作事件
How to action an event in Word from another .NET application using VSTO
我正在从事一个项目,该项目涉及将 VBA 启用宏的 Word 文档迁移到 VSTO 文档级自定义。我们有一个 .NET 应用程序,目前能够使用 Word Interop 来操作 Word VBA 宏。
下面是我们的 .NET 应用程序中的示例代码行,用于在启用宏的文档中调用宏 SomeMethod:
Word.Application.Application.Run(MacroName:="MyDoc.Module1.SomeMethod")
有没有一种方法可以通过 VSTO 文档级自定义来复制它?
当然,您可以直接调用 MyDoc.Module1.SomeMethod
。
我没有足够的代表发表评论,但这是以下内容的副本:
Call VBA AddIn macro from VSTO PowerPoint Ribbon
我也可以确认我已经在我的应用程序中成功使用了这个确切的代码。
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
这样调用:
Globals.ThisAddIn.RunMacro(Globals.ThisAddIn.Application , new object[] {"VBA macro name"});
我正在从事一个项目,该项目涉及将 VBA 启用宏的 Word 文档迁移到 VSTO 文档级自定义。我们有一个 .NET 应用程序,目前能够使用 Word Interop 来操作 Word VBA 宏。
下面是我们的 .NET 应用程序中的示例代码行,用于在启用宏的文档中调用宏 SomeMethod:
Word.Application.Application.Run(MacroName:="MyDoc.Module1.SomeMethod")
有没有一种方法可以通过 VSTO 文档级自定义来复制它?
当然,您可以直接调用 MyDoc.Module1.SomeMethod
。
我没有足够的代表发表评论,但这是以下内容的副本: Call VBA AddIn macro from VSTO PowerPoint Ribbon
我也可以确认我已经在我的应用程序中成功使用了这个确切的代码。
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
这样调用:
Globals.ThisAddIn.RunMacro(Globals.ThisAddIn.Application , new object[] {"VBA macro name"});