MS Office 插件的跨平台兼容性

问题描述

我们在 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 或组件没有限制。