【问题标题】:setSelection() certain part of paragraph using findText()setSelection() 使用 findText() 的段落的某些部分
【发布时间】:2014-10-30 13:36:53
【问题描述】:

我试图只选择段落/文本元素的一部分,下面的代码在选择整个段落时部分工作:

 function FindTextSelection(){
   var range = DocumentApp.getActiveDocument().newRange();
   var findtext = DocumentApp.getActiveDocument().getBody().editAsText().findText("some").getElement();
   Logger.log(findtext);
   range.addElement(findtext);
   DocumentApp.getActiveDocument().setSelection(range.build());

 }

目的是找到一个#placeholder#,用户可以直接在突出显示/选定的文本上键入。

谁能指出我正确的方向?

【问题讨论】:

    标签: google-apps-script google-docs google-apps


    【解决方案1】:

    获取“findText”的值后,可以通过

    获取var的文本值
     var findTextValue = findText.asText();
    

    然后更改正文中该文本的背景。

    您可以编写一个递归函数来查找#placeholder# 并更改背景颜色。

    请尝试查看此 question 已由 Mogsdad 回答以了解更多详细信息。

    希望有帮助!

    【讨论】:

      【解决方案2】:
      var doc = DocumentApp.getActiveDocument();
      var body = doc.getBody();
      var rangeBuilder = doc.newRange();
      
      var cursor = DocumentApp.getActiveDocument().getCursor();
      var surroundingText = cursor.getSurroundingText().getText();
      var surroundingTextOffset = cursor.getSurroundingTextOffset();
      surroundingText = surroundingText.substring(0,surroundingTextOffset);
      rangeBuilder.addElement(DocumentApp.getActiveDocument().getCursor().getElement(), 0, surroundingTextOffset);
      DocumentApp.getActiveDocument().setSelection(rangeBuilder.build())
      

      【讨论】:

        猜你喜欢
        • 2018-05-06
        • 1970-01-01
        • 2014-07-26
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-11
        • 1970-01-01
        相关资源
        最近更新 更多