Поиск с использованием подстановочных знаков, например, пример, приведенный в следующей статье, приводит к сбою Word Online при работе, как и ожидалось, для установленной версии MSWord
https://docs.microsoft.com/en-us/office/dev/add-ins/word/search-option-guidance
Я ищу следующий текст:
Оплата счетов Спонсором производится в течение тридцати (30 '
Текст может или не может быть разбит на разрывы строк / разделов. Поэтому я выполняю поиск по шаблону следующим образом:
'Платеж? Из? Счетов-фактур? От? Спонсор? Должен? Быть? Сделал? В? Тридцать? (30'
Это приводит к сбою браузера Word-Online.
Интересно, что в Word Online и MSWord работают следующие функции:
'Оплата счетов Спонсором производится в течение тридцати (30) дней'
Оплата? Из? Счетов-фактур? От? Спонсор? Должен? Быть? Сделал? В? Тридцать? (30)? 'Дней
Похоже, что проблема в незамкнутых скобках в подстановочном выражении.
В соответствии со статьей выше предлагается исключить скобки в квадратных скобках. В MSWord сработало следующее, но Word-Online потерпел крах:
Оплата? Из? Счетов-фактур? От? Спонсор? Должен? Быть? Сделал? В? Тридцать? [(] 30 '
Еще более странно то, что квадратные скобки работают только в том случае, если последний символ экранирован.
Это работает как в MSWord, так и в Word-Online:
включают в себя? Нематериальное? Вещи? [(]
тогда как это работает только в MSWord и вылетает Word-Online
включают в себя? Нематериальные? Вещи? [(] Е
Пример шаблона в статье выше «[*] *» приводит к сбою Word Online при работе в MSWord, как и ожидалось.
input = 'include?intangible?things?[(]e';
const { Word } = window;
Word.run(context => {
const { body } = context.document;
const searchResults = body.search(input, {
matchCase: false,
ignoreSpace: true,
ignorePunct: true,
matchWildcards: true
});
context.load(searchResults);
return context
.sync()
.then(() => {
})
.catch(error => {
});
});
Как MSWord, так и Word Online должны вести себя одинаково, когда оба выполняются через Office.js API.
Это похоже на ошибку в Word Online. Я бы предположил, что это, вероятно, связано с кодировкой URL.
Либо так, либо я неправильно кодирую свой шаблон ввода, когда целью является Word Online. В этом случае вышеприведенная статья нуждается в обновлении, чтобы детализировать, что означает «экранирование» Word Online для специальных символов.
Любопытно, что экранирующие скобки [] сами по себе являются специальными символами.
Word Online сбой