单词 - 突出显示搜索结果而不永久更改文档格式

时间:2016-10-13 18:28:11

标签: office-js

我想突出显示搜索结果,类似于本机搜索正在进行的搜索。换句话说,我不希望搜索操作在文档中产生副作用,例如:通过更改返回的文本范围中的字体颜色。

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

desired functionality in word

1 个答案:

答案 0 :(得分: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));
    }
});
&#13;
&#13;
&#13;