Поделиться через


Устранение неполадок Word надстроек

В этой статье рассматриваются проблемы, уникальные для Word. Используйте средство обратной связи в конце страницы, чтобы предложить другие проблемы, которые можно добавить в статью.

Метод Body.insertFileFromBase64 исключает все колонтитулы, которые находились в исходном файле.

Чтобы включить любые колонтитулы из исходного файла, используйте вместо него Document.insertFileFromBase64 .

Разрывы макета при использовании insertHtml курсора в элементе управления содержимым в заголовке

Эта проблема может возникнуть при выполнении следующих трех условий.

  1. В заголовке и по крайней мере один элемент управления содержимым в нижнем колонтитуле документа Word.
  2. Убедитесь, что курсор находится внутри элемента управления содержимым в заголовке.
  3. Вызовите insertHtml , чтобы задать элемент управления содержимым в нижнем колонтитуле.

Затем нижний колонтитул неожиданно смешивается с верхним колонтитулом. Чтобы избежать этого, очистите элемент управления содержимым в нижнем колонтитуле перед его настройкой, как показано в следующем примере кода.

await Word.run(async (context) => {
    // Credit to https://github.com/barisbikmaz for this version of the workaround.
    // For more information, see https://github.com/OfficeDev/office-js/issues/129.

    // Let's say there are 2 content controls in the header and 1 in the footer.
    const contentControls = context.document.contentControls;
    contentControls.load();

    await context.sync().then(function () {
        // Clear the 2 content controls in the header.
        contentControls.items[0].clear(); 
        contentControls.items[1].clear();

        // Clear the control control in the footer then update it.
        contentControls.items[2].clear();
        contentControls.items[2].insertHtml('<p>New Footer</p>', 'Replace');
    });
});

Значение значений свойств NULL в ответе

nullимеет особые последствия в Word API JavaScript. Он используется для представления значений по умолчанию или отсутствия форматирования.

Свойства форматирования, такие как цвет , будут содержать null значения в ответе, если в указанном диапазоне существуют различные значения. Например, если вы получаете диапазон и загружаете его свойство range.font.color:

  • Если весь текст в диапазоне имеет одинаковый цвет шрифта, range.font.color указывает этот цвет.
  • Если в диапазоне используется несколько цветов шрифтов, свойство range.font.color имеет значение null.

Дополнительные материалы