Я пытаюсь реализовать функцию в надстройке Word, где я отслеживаю, что пользователь печатает в MS Word, а затем выполняю автоматические c замены. Например, пользователь может набрать
:smile: :frown:
, и я автоматически заменю их на
:) :(
. Я реализовал обработчик для получения documentSelectionChanged
событий, и в настоящее время я используя следующий обработчик событий:
function refLabelShortcut() {
var range, results, par;
Word.run(function (context) {
range = context.document.getSelection();
range.paragraphs.load('items');
return context.sync()
.then(function() {
par = range.paragraphs.items[0];
console.log(par.text); // THIS WORKS!
results = par.search('the*', {matchWildCards: true});
//results = par.search('the');
results.load('items'); // SOMETHING WRONG HERE?
console.log('1');
})
.then(context.sync)
.then(function() {
console.log('2a'); // DOESN'T GET TO THIS LINE :(
console.log(results.items.length);
console.log('2b');
});
});
}
Приведенный выше код работает, когда поиск не является подстановочным. Я закомментировал поиск без подстановочных знаков, чтобы вы могли видеть, что работает.
Когда вы выполняете поиск с подстановочными знаками, консоль показывает:
[text of the matching paragraph]
1
и все. Таким образом, код не доходит до последней функции then
.
Есть идеи, почему это не работает с поиском по шаблону? Ошибка в строке results.load('items')