问题描述
我们在 MS Office Ribbon 上有一个自定义选项卡,内置在 Visual Studio 中,通过 VSTO 和 Click Once 分发,并作为 .com 对象加载。
但目前仅限于 Windows。
MS 现在正在推广声称是多平台的“Office 插件”。
我们使用 Excel 和 Powerpoint。
虽然基于浏览器的“任务窗格”显然是多平台的,并且添加按钮也是多平台的,但整个自定义流畅选项卡和多个按钮是否可以跨多个平台使用?
如果我们迁移到 365 并使用 Office 插件和 javascript api,与传统的 COM 对象相比,目前哪些功能不可用?例如,我们可以使用 OpenXML 吗?
MS 似乎没有列出不可用或不可能的内容...Javascript api 似乎非常有限。
主要目标平台是:Windows、iPad、Web 浏览器(网页版 Office)
未来可能需要 Android 和 iOS。
解决方法
虽然基于浏览器的“任务窗格”显然是多平台的,并且添加按钮也是多平台的,但整个自定义流畅选项卡和多个按钮是否可以跨多个平台使用?
是的,您可以将自定义 UI 添加到功能区。但与 COM 加载项相比,它非常有限。功能区按钮有预定义的操作 - 自定义操作、打开加载项的任务窗格等。
如果我们迁移到 365 并使用 Office 插件和 javascript api,与传统的 COM 对象相比,目前哪些功能不可用?例如,我们可以使用 OpenXML 吗?
说可用的东西更容易,因为与 COM 加载项相比,它们仍然非常有限。如果是 Excel,请查看 Office Add-ins platform overview 页面以了解有关 Web 加载项的更多信息。在 JS 中,您可以处理打开的 XML 文档,请参阅 Open XML SDK for JavaScript。
要了解什么是可能的,什么是不可能的,我建议您使用带有 the Script Lab tool 的 Office JavaScript API -- 一个用于运行和探索 API 的沙箱。
您还可以在 Selecting an API or technology for developing solutions for Outlook 文章中阅读两种技术的比较。它与 Outlook 相关,但大多数事情在 Office 主机之间是通用的 - 部署、API 等。
主要区别来自底层技术。对于本机加载项(COM 技术),使用各种 API 或组件没有限制。