如何使用 Office 加载项 select、trim 并将包含插入点的单词存储为范围 JavaScript API
How to select, trim, and store as range a word that contains the insertion point in an open Word document using the Office Add-in JavaScript API
如果这个基本问题的答案显而易见,我深表歉意。我到处都找遍了,没能找到答案。
假设插入点当前位于打开的 Word 文档中某个单词的两个字母之间。我如何使用 Word 加载项 JavaScript API 将单词(不带尾随 space)分配给范围变量?
对于上下文,我试图做到这一点,以便用户可以单击文档中的任何单词,这会将插入点放在单词中,然后单击执行一个 UI 的控件在文档中的任何地方都对那个词进行特定的查找和替换。
需要使用range的getTextRanges()方法来解决。此方法的语义是采用在第一个参数上指定的分隔符,然后我们从当前插入点 fwd 和 bwd 开始,直到找到任何指定的分隔符和 return 结果范围。不是段落结尾是隐式定界符,因此不能超出段落。这意味着如果用户选择段落的最后一个单词,该范围将包含一个“.”,因此您要确保验证最后一个字符,对于任何其他标点字符也是如此。第二个参数是 trim 或 spaces(在我的示例中设置为 true)。
这是一个使用 space (" ") 作为分隔符的示例。
Word.run(function (context) {
var myWordRange = context.document.getSelection().getTextRanges([" "], true).getFirst();
context.load(myWordRange);
return context.sync()
.then(function () {
console.log(myWordRange.text);
})
})
玩得开心..
娟.
如果这个基本问题的答案显而易见,我深表歉意。我到处都找遍了,没能找到答案。
假设插入点当前位于打开的 Word 文档中某个单词的两个字母之间。我如何使用 Word 加载项 JavaScript API 将单词(不带尾随 space)分配给范围变量?
对于上下文,我试图做到这一点,以便用户可以单击文档中的任何单词,这会将插入点放在单词中,然后单击执行一个 UI 的控件在文档中的任何地方都对那个词进行特定的查找和替换。
需要使用range的getTextRanges()方法来解决。此方法的语义是采用在第一个参数上指定的分隔符,然后我们从当前插入点 fwd 和 bwd 开始,直到找到任何指定的分隔符和 return 结果范围。不是段落结尾是隐式定界符,因此不能超出段落。这意味着如果用户选择段落的最后一个单词,该范围将包含一个“.”,因此您要确保验证最后一个字符,对于任何其他标点字符也是如此。第二个参数是 trim 或 spaces(在我的示例中设置为 true)。
这是一个使用 space (" ") 作为分隔符的示例。
Word.run(function (context) {
var myWordRange = context.document.getSelection().getTextRanges([" "], true).getFirst();
context.load(myWordRange);
return context.sync()
.then(function () {
console.log(myWordRange.text);
})
})
玩得开心.. 娟.