在桌面 Office 应用程序中运行时,是否可以让 VSTO 加载项和基于 JS/HTML 的任务窗格应用程序相互通信?
目标是使用 VSTO 连接 x 平台 Office API 中尚不存在(或永远不会存在)的功能。
在桌面 Office 应用程序中运行时,是否可以让 VSTO 加载项和基于 JS/HTML 的任务窗格应用程序相互通信?
目标是使用 VSTO 连接 x 平台 Office API 中尚不存在(或永远不会存在)的功能。
正如 Evgene 所提到的,没有开箱即用的功能(尽管这个话题肯定在内部讨论中出现,所以我很想听听你的场景,特别是你将如何处理 VSTO-only - 桌面案例)。
如果您现在想尝试这个,您可能仍然可以使用一些创造性的解决方案。想象一下,您有一个带有命名范围的隐藏工作表,您将其用作 VSTO 和任务窗格应用程序之间的通信缓冲区。
对于 VSTO => JS 通信:让任务窗格在指定范围内创建绑定,然后使用 binding-data-changed 事件侦听来自 VSTO 加载项的传入消息。
对于 JS => VSTO 通信:让 JS 将数据设置为绑定(如上所述,绑定是在指定范围内创建的)。在 VSTO 端,监听数据更改事件,将传入的范围与命名范围的范围相交,如果相交不为空,则获取文本以获取传入的消息。
如果您最终尝试了这种方法,请务必在帖子中发布它是如何进行的——我很想听听。
~ Michael Zlatkovsky(Office 可扩展性团队的开发人员)
需要承认基于 VSTO 的加载项只能在 Windows 和桌面客户端上运行。这种场景不支持其他平台。
无论如何,VSTO 和邮件应用程序 (JS/HTML) 都没有提供任何开箱即用的东西。