2016-10-13 2 views
1

Я хотел бы выделить результаты поиска аналогично тому, что делает родной поиск слова. Другими словами, я не хочу, чтобы действие поиска имело побочные эффекты в документе, например. путем изменения цвета шрифта в возвращаемых текстовых диапазонах.слово - выделить результаты поиска без постоянного изменения форматирования документов

var searchResults = paragraph.search(searchValue); 
context.load(searchResults, { select: 'text, font, style' }); 

desired functionality in word

ответ

1

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

Word.run(function (context) { 
 

 
      // Queue a command to search the document 
 
      var searchResults = context.document.body.search('string you want to search for'); 
 
      context.load(searchResults, 'font'); 
 
      return context.sync().then(function() { 
 
       console.log('Found count: ' + searchResults.items.length); 
 

 
       // Queue a set of commands to change the font for each found item. 
 
       for (var i = 0; i < searchResults.items.length; i++) { 
 
        
 
        searchResults.items[i].font.highlightColor = '#FFFF00'; //Yellow 
 
        
 
       } 
 

 
       return context.sync(); 
 
      }); 
 
     }) 
 
.catch(function (error) { 
 
    console.log('Error: ' + JSON.stringify(error)); 
 
    if (error instanceof OfficeExtension.Error) { 
 
     console.log('Debug info: ' + JSON.stringify(error.debugInfo)); 
 
    } 
 
});

+0

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

+0

Знаете ли вы, что поиск результатов поиска в дорожной карте? Это немного беспокоит, что выделение результатов поиска влияет на отмену стека. –

+0

Вы правы, мы на самом деле добавляем поддержку для этого в ближайшее время. вы сможете установить цвет выделения на «нуль», чтобы очистить подсветку. но это будет публично через несколько месяцев. в отношении вашего запроса выделить результаты поиска, это отличная идея, было бы здорово, если бы вы могли поделиться ею с нашим голосовым каналом пользователя https://officespdev.uservoice.com/forums/224641-general/category/163566-add-in -слово –

Смежные вопросы