有没有办法将 "Globals.ThisAddIn" 的引用从 MS Word 加载项传递到同一解决方案中的 WinForms 项目?

Is there a way to pass a reference of "Globals.ThisAddIn" from a MS Word Add-In to a WinForms project in the same solution?

我有一个需要使用 Microsoft Word 文档的 Windows 表单应用程序,我在与 Word 加载项相同的解决方案中从 WinForms 项目引用“Globals.ThisAddIn”时遇到问题项目。当我尝试访问 Globals.ThisAddIn 时,它会抛出一个错误,指出“Globals.ThisAddIn.get returned null.”

下面的代码是引发错误的原因。 “MyWord”class 是 MS Word 插件项目中的一个 public class。在与 Word 加载项相同的解决方案中从 WinForms 项目调用它。

using Word = Microsoft.Office.Interop.Word;
using Tools = Microsoft.Office.Tools.Word;
public class MyWord
{

    public MyWord()
    {

    }


    public Tools.Document GetVstoDocument(Word.Document doc)
    {
        Tools.Document ToolDoc = Globals.Factory.GetVstoObject(doc);
        return ToolDoc;

    }

    public Word.Document OpenFromTemplate(string TemplatePath)
    {
        Word.Document doc = Globals.ThisAddIn.Application.Documents.Add(TemplatePath);
        return doc;
    }
}

目前,Word 加载项项目设置为与 WinForms 应用程序同时启动。非常感谢任何帮助。

检查“进程外客户”以及此 link calling-code-in-vsto-add-ins-from-other-office-solutions

中的说明和说明