【发布时间】:2022-12-01 07:48:38
【问题描述】:
我最近从开发 VBA Excel 加载项转向使用新的 Office JavaScript 加载项平台。我已经习惯了我的 VBA 加载项在整个 Excel 中处于活动状态,并且无论您正在与哪个工作簿进行交互,变量的状态都是可用的。
JavaScript 插件似乎不是这种情况。我一直在测试我的加载项,碰巧创建了一个新工作簿,并注意到所有加载项状态似乎都不再处于活动状态。
我是否遗漏了什么,或者这是新的 Office JavaScript 加载项架构在 Excel 中的浏览器中运行的结果?
只是为了确认我已经启用了共享运行时选项,这不是我的问题。我能够在命令、Takspane 和函数之间共享状态。但都在一个工作簿中。
我已经尝试了一个用于 Office 加载项的示例 Yeoman 生成器,并且在两个不同的工作簿中的加载项之间似乎确实没有共享全局变量。
【问题讨论】:
-
肖恩,考虑使用本地存储浏览器 API 来存储应该在工作簿之间共享的状态。
-
谢谢 Jakob,我正在研究这个选项。但与旧的插件架构相比,它肯定会使事情复杂化。我想我需要挂接工作簿的 onActivated 事件并不断检查状态是否已更改和同步。有没有其他推荐的模式来实现这一点?当用户登录时,我的加载项会加载大量数据,我不想让他们在每个工作簿中登录,我需要这个数据客户端。
标签: excel office-js office-addins excel-addins excel-web-addins