Office VSTO 加载项与使用 Office JS 的 Office 加载项 API

Office VSTO Add-ins vs Office Add-ins using Office JS API

最近 Microsoft 引入了 Office 加载项架构,允许开发远程托管的加载项和 运行 在办公室内的 IFrame 中。我读了很多书,试图了解这种架构是否意味着 VSTO 的替代品,或者它们是否有单独的用例。 VS 2015 有两者的模板。

在我的具体情况下,我想开发一个扩展 Excel 2016 的插件,具有自定义导入功能(例如自定义 CSV、TSV,甚至 XLSX)。我不知道我应该选择哪种类型的项目。

考虑到作为 COM 和 VSTO 插件开发的遗留应用程序的数量,我很难相信 Microsoft 会在未来 10 年内放弃支持。

对我来说,一种方法与另一种方法最重要的区别是:

COM/VSTO Office 加载项

  • 访问完整的对象模型
  • 本地机器交互,例如文件系统
  • 从 Office 2007 开始 Windows 可用

JavaScript Office 加载项

  • 在 Windows、OS X、iOS 等之间可移植(虽然还没有在所有地方完成)
  • 与在线服务轻松集成
  • 轻松分发,无需担心安装程序

对于你的情况,我会问自己这些问题:

  • 以后是否需要支持Windows以外的其他平台? > JavaScriptAPI
  • 当前 JavaScript API 实施是否满足要求?

我发现 VSTO 也没有 100% 实现。我已经放弃为 Project 开发 VSTO,遇到了太多问题。相反,我开发了 VBA 中的所有内容,并完善了一些安装、分发和更新 VBA 宏的简洁方法。