setSelection()使用findText()的段落的某些部分

时间:2014-10-30 13:36:53

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

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

 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());

 }

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

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

您可以编写递归函数来查找#占位符#并更改背景颜色。

尝试检查Mogsdad已经回复的question以获取更多详细信息。

希望有所帮助!

答案 1 :(得分:-1)

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())