Привязки больше не работают в сгенерированном документе Word из шаблона после обновления Office 365 (сборка 1811) - PullRequest
0 голосов
/ 13 декабря 2018

Контекст

В настоящее время я разрабатываю надстройку Word, которая использует API Javascript для Office (office.js).Надстройка состоит из некоторых основных функций и ряда шаблонов (файлы .dotx).Шаблоны автоматически открывают панель задач при открытии документа.Эта область задач содержит несколько текстовых полей, которые обновляют привязки в документе, созданные с помощью общего API (или общей библиотеки Javascript для всех продуктов Office).В прошлом году это сработало правильно.Недавно наш клиент обновил Windows и Office 365 до более новых версий.После этого обновления привязки перестали работать, когда шаблон генерирует новый файл.Привязки работают, когда открывается сам файл шаблона (файл .dotx), но перестают работать в файле, созданном шаблоном (файл .docx).Мы смогли воссоздать ошибки, обновив Windows и Office на другом компьютере.

Windows version: 16299.785 (build 1709)

Office 365 version: 16.0.11029.20045 (build 1811)

Проблема

К сожалению, я не уверен в том, что я могу сделать, чтобы решитьЭта проблема.В предыдущей среде можно было взаимодействовать с привязками из сгенерированного файла .docx файла шаблона .dotx.Кажется, это больше невозможно.

В любом случае, любые идеи или советы по решению этой проблемы будут с благодарностью приняты.

Обновление

После дополнительных исследований я пришел квывод, что это, скорее всего, ошибка не в Office.js, а в самом Word.Определенная информация добавляется в файл webextensions в OOXML документа при создании привязки.Эти записи с информацией о привязках должны быть перенесены в сгенерированный файл .docx при открытии файла шаблона .dotx.Этого не происходит в новейшей версии 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>
...