如何使用 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);
             })
    })

玩得开心.. 娟.