Office加载项:在Windows中使用Office js保存自定义文档属性

时间:2018-07-24 04:09:15

标签: office-js office-addins excel-addins word-addins

背景:

我正在 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();

Office版本:

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> 没什么...

2 个答案:

答案 0 :(得分:0)

我的最佳猜测是,这与IE11上异步/等待(不)的工作方式有关,并且您将必须添加正确的polyfill来处理此问题。

答案 1 :(得分:0)

事实证明,使用此MSI构建和我正在使用的API,存在一些不兼容问题,这些问题导致了我遇到的麻烦。他们建议我转到365。