VSTO 加载项和任务窗格应用程序之间的双向通信 (JS/HTML)

Two-way communication between VSTO add-in and a Task Pane app (JS/HTML)

当 运行 在桌面 Office 应用程序中时,是否可以让 VSTO 加载项和基于 JS/HTML 的任务窗格应用相互通信?

目标是使用 VSTO 桥接 x 平台 Office API 中尚未存在(或永远不会存在)的功能。

需要承认基于 VSTO 的加载项只能在 Windows 和桌面客户端上 运行。这种情况不支持其他平台。

无论如何,VSTO 和邮件应用程序 (JS/HTML) 都没有提供开箱即用的任何东西。

正如 Evgene 所提到的,没有开箱即用的功能(尽管这个话题肯定在内部讨论中出​​现过,所以我很想知道你的场景,尤其是你会如何处理 VSTO-only-on-the-desktop 情况。

如果您现在想尝试这个,您可能仍然可以使用一些创造性的解决方案。想象一下,您有一个隐藏的 sheet,上面有一个命名范围,您将其用作 VSTO 和任务窗格应用程序之间的通信缓冲区。

对于 VSTO => JS 通信:让任务窗格在命名范围内创建绑定,然后使用绑定数据更改事件来侦听来自 VSTO 加载项的传入消息。

对于 JS => VSTO 通信:让 JS 将数据设置为绑定(如上所述,它是在命名范围内创建的)。在 VSTO 端,侦听数据更改事件,将传入范围与命名范围的范围相交,如果交集不为空,则获取文本以获取传入消息。

如果您最终尝试了这种方法,请务必在帖子中发布它的进展情况——我很想听听。

~ Michael Zlatkovsky(Office 扩展性团队的开发人员)