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