我正在尝试使用“共享运行时”来处理我的 Excel JS 加载项,但它不起作用。以下是我一直在审查的文档。以下是我的项目的屏幕截图。看起来我可以设置初始状态,但我的自定义函数没有更新 window.sharedState。我还尝试使用 Excel 上下文对象,但这也不起作用。
文档链接
- https://learn.microsoft.com/en-us/office/dev/add-ins/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial
- https://learn.microsoft.com/en-us/office/dev/add-ins/excel/configure-your-add-in-to-use-a-shared-runtime
项目截图
最佳答案
感谢您分享项目的关键部分!您的屏幕截图非常有帮助!
您的自定义函数可以读取共享状态这一事实是一个好兆头。
您的自定义函数未更改共享状态的原因可能是因为您没有提供有效的 JSON。我发现您尝试设置的值有几个问题:
{ ... }
必须是文字,即您不能在内部使用变量。因此,诸如{ oldVal: OriginalVal }
之类的内容无效。如果您想使用变量,则必须以编程方式分配这些值,例如
window.sharedState.test = {};
window.sharedState.test.oldVal = originalVal;
- 文字
{ first, secondary }
无效 - 它不遵守property: value
模式。 - 虽然 JavaScript 和 TypeScript 可能允许不带引号的属性名称,但最好养成像
{ "something": 42 }
这样引用它们的习惯。
关于reactjs - Excel JS 加载项 - 共享运行时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62347335/