Ms word 如何使用Office JS API对word文档的选定文本执行某些操作?
我需要从word文档中获取所选文本,并使用OfficeJavaScriptAPI突出显示其中的一些特定单词。到目前为止,我能够获取所选文本,但无法突出显示所选文本中的特定单词 PS:我可以突出显示整个文档正文中的文本,我需要做的就是突出显示选定范围内的文本。下面是在整个文档中突出显示单词的代码Ms word 如何使用Office JS API对word文档的选定文本执行某些操作?,ms-word,office-js,office-web-app,Ms Word,Office Js,Office Web App,我需要从word文档中获取所选文本,并使用OfficeJavaScriptAPI突出显示其中的一些特定单词。到目前为止,我能够获取所选文本,但无法突出显示所选文本中的特定单词 PS:我可以突出显示整个文档正文中的文本,我需要做的就是突出显示选定范围内的文本。下面是在整个文档中突出显示单词的代码 Word.run(function (context) { context.load(context.document.body, 'text')
Word.run(function (context) {
context.load(context.document.body, 'text')
return context.sync().then(function () {
for (var i = 0; i < item.words.length; i++) {
var searchResults = context.document.body.search(item.words[i], { ignorePunct: true, matchCase: false, matchWholeWord: true });
context.load(searchResults, 'font');
return context.sync().then(function () {
for (var i = 0; i < searchResults.items.length; i++) {
searchResults.items[i].font.color = color;
searchResults.items[i].font.highlightColor = "#F0F0F0";
searchResults.items[i].font.bold = true;
}
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));
}
});
您只需要获取所选文本的范围,然后将逻辑应用于它 将此行context.loadcontext.document.body“text”替换为以下两行:
var selectedRange = context.document.getSelection();
context.load(selectedRange, "text");
然后用selectedRange替换第5行中的context.document.body。非常感谢兄弟:。请对答案进行编辑,使其毫无问题地变得有用。请只在最后一行写context.document.body。很好。修好了。