【问题标题】: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如何使用 Office 加载项 JavaScript API 在打开的 Word 文档中选择、修剪和存储包含插入点的单词
【发布时间】:2017-07-06 02:36:24
【问题描述】:

如果这个基本问题的答案是显而易见的,我深表歉意。我到处找了找答案。

假设当前插入点位于打开的 Word 文档中一个单词的两个字母之间。如何使用 Word Add-in JavaScript API 将单词(不带尾随空格)分配给范围变量?

对于上下文,我试图让用户可以单击文档中的任何单词,这会将插入点放在单词内,然后单击一个 UI 控件,该控件在该控件上执行特定的查找和替换文档中到处都是单词。

【问题讨论】:

    标签: office-js


    【解决方案1】:

    您需要使用范围的 getTextRanges() 方法来解决这个问题。此方法的语义是采用第一个参数上指定的分隔符,然后我们从当前插入点 fwd 和 bwd 开始,直到找到任何指定的分隔符并返回结果范围。段落的结尾并不是一个隐含的分隔符,所以这不能超出一个段落。这意味着如果用户选择段落的最后一个单词,该范围将包含一个“.”,因此您要确保验证最后一个字符,任何其他标点字符也是如此。第二个参数是修剪或不修剪空格(在我的示例中设置为 true)。

    这是一个使用空格(“”)作为分隔符的示例。

        Word.run(function (context) { 
            var myWordRange = context.document.getSelection().getTextRanges([" "], true).getFirst();
            context.load(myWordRange);
            return context.sync()
                .then(function () {
                    console.log(myWordRange.text);
                 })
        })

    玩得开心.. 胡安。

    【讨论】:

      猜你喜欢
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多