如何使用RangeBuilder取消选择以前设置的选择

时间:2016-04-18 11:21:42

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

如何使用以下代码取消选择之前设定的选择?

var doc = DocumentApp.getActiveDocument();
var rangeBuilder = doc.newRange();
rangeBuilder.addElement(body.editAsText(), 0, body.editAsText().getText().length - 1);
doc.setSelection(rangeBuilder.build());

1 个答案:

答案 0 :(得分:1)

我一直在谷歌搜索并环顾社区很长一段时间,但我无法找到任何直接功能来删除文档的文本选择。所以作为一种解决方法,我所做的就是:

var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var rangeBuilder = doc.newRange();
  rangeBuilder.addElement(body.editAsText(), 0, body.editAsText().getText().length - 1);
  doc.setSelection(rangeBuilder.build());

  var rangeBuilder2 = doc.newRange();
  var text = body.editAsText().appendText(" ");
  rangeBuilder2.addElement(text, body.editAsText().getText().length - 1, body.editAsText().getText().length - 1);
  doc.setSelection(rangeBuilder2.build());
  text.deleteText(body.editAsText().getText().length - 1, body.editAsText().getText().length - 1);

我只是在身体上添加了一个空格,让新的RangeBuilder将其添加为元素,并将doc的选择设置为它。之后,我刚刚删除了文本。这只是一个简单的解决方法,您可以根据自己的喜好调整它。

如果您确实找到了更直接的方法,我也想了解它。希望这可以帮助。祝好运。 :)