【发布时间】:2014-07-20 01:09:16
【问题描述】:
我正在研究如何使用
DocumentApp.getActiveDocument().setSelection(range);
在 Google Docs 文本文档中,选择从当前光标位置(或选择的开头)到结尾的所有文本,但我不明白如何创建必要的 Range 对象来执行此操作。
(参考:setSelection、Document)
这个issue-post 提供了一个有用的cursor inspector,它清楚地表明选择的“偏移量”是相对于当前段落(或者从技术上讲,Element)所以如果选择的是列表元素 3 中的前五个字符,那么它的偏移量是 0 和 4,它之前或之后的元素(段落)没有真正的上下文。
选择文档末尾(我在列表后面的一些空白段落中添加了):
我找到的最接近的是this example,它增加了选择以包括文档中的每个表格。
// Change the user's selection to a range that includes every table in the document.
var doc = DocumentApp.getActiveDocument();
var rangeBuilder = doc.newRange();
var tables = doc.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());
那么,如何使用RangeBuilder 创建一个以“当前光标位置”(或当前选择的开始)开始,以“文档结束”结束的Range?
谢谢。
【问题讨论】:
-
您的意思是要选择从当前光标位置到整个文档末尾的所有内容?
-
@teatimer 是的。就是这样。
标签: javascript google-apps-script google-docs