为所有文档自动加载和启动 Office-js 加载项的运行时

Automatically load and start runtime of Office-js add-ins for all documents

我正在开发一个 office-js 加载项,每次启动任何 Excel 文档时都需要自动 运行(无需用户交互)。我已将其配置为使用共享 运行 时间。此功能适用于 VSTO 加载项,它在 Excel 启动时加载,但似乎缺少 Office-js 加载项。

我只找到了两个可能的解决方案,但它们的效果并不理想:

  1. 当加载项首次在文档中 运行 时,设置 Office.addin.setStartupBehavior(Office.StartupBehavior.load) 以便加载项自动加载文档。

问题:加载项需要手动插入一次(用户需要为每个文档单击一次加载项功能区)。此设置仅适用于当前文档。不切实际,因为用户首先需要与每个新文档的加载项进行交互。

  1. 随着 Excel 打开一个新文档,使用 VSTO 加载项通过按照本文 https://docs.microsoft.com/en-us/office/dev/add-ins/develop/run-code-on-document-open.
  2. 使用 OpenXML 编辑文档来插入加载项

问题:Excel 在打开文档时阻塞 I/O。对于本地文档,我找到了一种方法来写入它们,就像 Excel 写入它们一样,但是当文档保存在 OneDrive 上时,任何具有 ReadWrite 属性的流都无法访问。所以这个解决方案效果不是很好。

是否有解决方法?

不,没有其他方法可以自动加载 Excel Web 插件。