【问题标题】:Passing data to Word application Addin:- custom remoting vs requestcomaddinautomationservice将数据传递给 Word 应用程序插件:- 自定义远程处理与 requestcomaddinautomationservice
【发布时间】:2011-12-19 11:52:58
【问题描述】:

我有一个场景,其中一个单词有一个应用程序插件,它在单词开始时加载。

我有一个 wpf 应用程序,它必须将一些数据传递给插件。

建议方式和常规方式似乎是this

但是,这是行为不稳定并引发各种错误,例如this

有没有更好的方法来做到这一点?我正在考虑使用 .Net 远程处理。为什么不在插件加载时托管远程服务器,并让我的 wpf 应用程序成为可以将数据传递给我的插件的远程客户端?

这样做会有什么问题吗?

【问题讨论】:

    标签: c# ms-word vsto remoting


    【解决方案1】:

    如果您只想将数据从应用程序传递到插件,您可以使用文件系统,例如使用临时 XML 文件。

    只有当你想控制插件的执行时,插件自动化才是必要的。

    解决方案取决于您到底想做什么。如果您只想传递数据,请使用 XML 文件(或任何您想要的文件),并在插件启动时加载它。如果要从 WPF 应用程序控制插件,请覆盖插件中的 RequestComAddInAutomationService() 方法。

    无论如何,我在使用插件自动化时从未遇到任何错误。

    【讨论】:

    • 感谢您的回复。我的插件在单词 opens 时启动,但是有几个自定义任务窗格,其中有一些需要加载的 wpf 控件和一些在我调用远程方法时连接的事件。当文档关闭时,我的所有控件都将被卸载,并且当我的客户端应用程序调用该方法时将在同一个 word 窗口中重新加载。
    • 总之我需要控制插件。我得到 System.Runtime.InteropServices.COMException (0x80040637): Exception from HRESULT: 0x80040637 at Microsoft.Office.Core.COMAddIn.set_Connect(Boolean RetValue) 之类的异常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 2019-06-07
    相关资源
    最近更新 更多