上下文
当前,我正在开发使用Office的Javascript API的Word加载项(office.js)。外接程序由一些基本功能和许多模板(.dotx文件)组成。打开文档时,模板会自动打开任务窗格。该任务窗格包含多个文本字段,这些文本字段更新使用common API(或Office产品之间的共享Javascript库)创建的文档中的绑定。在过去的一年中,此方法正常运行。最近,我们的客户端将Windows和Office 365都更新到了最新版本。在此更新之后,当模板生成新文件时,绑定已停止工作。绑定在打开模板文件本身(.dotx文件)时起作用,但在由模板生成的文件(.docx文件)中不再起作用。通过在另一台计算机上更新Windows和Office,我们能够重新创建这些错误。
Windows version: 16299.785 (build 1709)
Office 365 version: 16.0.11029.20045 (build 1811)
问题
不幸的是,我不确定如何解决该问题。在以前的环境中,可以与.dotx模板文件的生成的.docx文件中的绑定进行交互。这似乎不再可行。
无论哪种方式,对于解决此问题的任何见解或建议都将不胜感激。
更新
经过更多研究,我得出的结论是,这很可能不是Office.js中的错误,而是Word本身。创建绑定时,某些信息会添加到文档的OOXML中的webextensions文件中。打开模板.dotx文件时,这些包含有关绑定信息的条目应传输到生成的.docx文件中。在最新版本的Word 365中不会发生这种情况。所有绑定都将从文档中删除。因此,Office.js无法找到这些绑定。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<we:webextension
xmlns:we="http://schemas.microsoft.com/office/webextensions/webextension/2010/11" id="{<removed>}">
<we:reference id="<removed>" version="<removed>" store="<removed>" storeType="<removed>"/>
<we:alternateReferences/>
<we:properties/>
<we:bindings>
<!-- these bindings get removed -->
<we:binding id="BindingIdExample" type="text" appref="28855083"/>
</we:bindings>
<we:snapshot
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
</we:webextension>