如何从单独的 .NET 应用程序 运行 VSTO Word 模板中的方法?

How to run a method in a VSTO Word Template from a separate .NET application?

我正在从事一个项目,该项目涉及使用 VSTO 将 Word 模板 中的宏迁移到 VB.NET。我们已经能够创建 Word 模板并将代码迁移到 VB.NET 就好了,但是我们需要从单独的 .NET 应用程序中执行特定的 VSTO 方法。

以前,我们可以通过以下方式在 VBA 中实现此目的:

Word.Application.Run(MacroName:="MyDocument.MyModule.MyMethod")

有几篇文章解释了如何使用应用程序和文档级自定义来实现这一点,但我们还没有找到任何关于如何使用 VSTO 文档级自定义来实现这一点的信息Word 模板.

我们已经尝试了多种不同的方法,包括:

然而,这些似乎都不适用于文档级模板。除此之外,我们还尝试在功能区中添加一个按钮来触发所需的方法,并尝试使用 Word.Application.CommandBars.FindControl()

从我们的 .NET 应用程序访问它

更多信息:VSTO Word 模板是使用 VS2013 创建的,单独的 .NET 应用程序是在 VS2010 上开发的。两个应用程序 运行 .NET Framework 4.

您可以使用标准的 .Net 机制,例如 WCF (.Net Remoting) 等。将您的文档级加载项视为一个单独的应用程序。

如果是应用程序级别的加载项,您可以直接调用它们。有关详细信息,请参阅 Calling Code in Application-Level Add-ins from Other Office Solutions