【问题标题】:What ending marks should be used to extend a range to the end of the paragraph?应该使用什么结束标记将范围扩展到段落末尾?
【发布时间】:2019-07-10 22:13:49
【问题描述】:

我正在编写一个单词插件,不清楚如何使用 Range 类的 getNextTextRange(endingMarks, trimSpacing) 方法。

具体来说,我想选择一个新的范围,从当前选择的范围开始,一直到段落的末尾。

用于方法状态的 API

endingMarks 字符串[] 必需的。标点符号和/或其他 结束标记为字符串数组

如果您想选择下一个逗号、句点甚至空格,这就足够清楚了。但是对于段落、换行符或文档的结尾,您应该使用什么结束标记呢?

我尝试过使用 '\n'、'^p' 和 '¶' 但这些似乎都不起作用。

          var nr = selection.getNextTextRange(['¶'],true);
           nr.load("isEmpty,text");
           await context.sync();
           console.log('nr='+nr.text);
         } catch(e) {
          console.log("error, soz");
          console.log(e);
         }

给定一个由一段文本组成的文档,其后有一个空白段落,并且该段落的第一个单词突出显示,此加载项会引发 RichApi.Error

我们找不到您请求的项目。

我希望它打印出段落的其余部分。

【问题讨论】:

    标签: ms-word office-js word-addins


    【解决方案1】:

    如果我了解您的情况,您可以使用 ParagraphCollection.getFirst() 方法。请安装Script Lab 工具。例如,打开名为“从插入点获取段落”的示例。

    【讨论】:

      【解决方案2】:

      让我扩展 rick-kirkham 的答案,以防它在我的情况下对其他人有所帮助。这与这里给出的答案基本相同https://stackoverflow.com/a/51160690/4114053

      好的,这是我的示例word文档:

      西班牙下雨了。主要在平原上。

      爱丽丝穿过镜子。她看到了什么?

      课程到此结束。阿门。

      用户在第二段中选择“stepped”,我想知道该段其余部分的文本,从那个词说。我也想知道当时的文字是什么意思。

      var doc = context.document;
      var selection = doc.getSelection(); 
      selection.load("isEmpty,text");
      await context.sync();
      console.log(selection.text); //prints stepped
      
      var startRange = selection.getRange("start"); 
      var endRange = selection.paragraphs.getLast().getRange("start");
      var deltaRange = startRange.expandTo(endRange);
      context.load(deltaRange);
      await context.sync();
      console.log(deltaRange.text); //prints "Alice"
      
      startRange = selection.getRange("end"); 
      endRange = selection.paragraphs.getLast().getRange("end");
      deltaRange = startRange.expandTo(endRange);
      context.load(deltaRange);
      
      await context.sync();
      console.log(deltaRange.text); // prints "through the looking glass. What did she see?"
      

      我的错误是过于专注于试图弄清楚“结束标记”可能意味着什么以及如何使用它们来实现这一点。 (尽管我仍然希望在 API 规范中说明这一点。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-26
        • 2023-01-11
        • 2012-07-19
        • 2021-12-28
        相关资源
        最近更新 更多