我正在 macOS 中开发一个加载项,并且能够读取自定义文档属性:
return await this.api.run(async (context) => {
const properties = context.document.properties.customProperties;
properties.load('key,type,value');
await context.sync();
const roomID = properties.items.find(item => item.key === 'Webex_Teams_roomID');
return roomID ? roomID.value : null;
});
并写一个:
return await this.api.run(async (context) => {
context.document.properties.customProperties.add('Webex_Teams_roomID', newRoomID);
await context.sync();
});
使用office JS API
的 this.api 只是 window.word 。我使用了以下由Microsoft自己提供的仓库中的帮助,office-js-snippets。
我无法在Window的计算机上运行我的代码。调试代码后,我了解到我的代码此时卡住了:await context.sync();
。
macOS中的Office版本:16.14.1 (180613)
。
Windows中的Office版本:16.0.4639.1000 32-bit
经过一番挖掘,我发现我无权访问context.document.properties.customProperties.items
。它将显示<permission denied>
错误。可以吗?
然后将Permissions
设置为ReadWriteDocument
:
<Permissions>ReadWriteDocument</Permissions>
没什么...
答案 0 :(得分:0)
我的最佳猜测是,这与IE11上异步/等待(不)的工作方式有关,并且您将必须添加正确的polyfill来处理此问题。
答案 1 :(得分:0)
事实证明,使用此MSI构建和我正在使用的API,存在一些不兼容问题,这些问题导致了我遇到的麻烦。他们建议我转到365。