Class RangeBuilder

RangeBuilder

用于根据文档元素构建 Range 对象的构建器。

// Change the user's selection to a range that includes every table in the
// active tab.
const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const rangeBuilder = documentTab.newRange();
const tables = documentTab.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

方法

方法返回类型简介
addElement(element)RangeBuilder将整个 Element 添加到此 RangeBuilder
addElement(textElement, startOffset, endOffsetInclusive)RangeBuilder向此 RangeBuilder 添加部分 Text 元素。
addElementsBetween(startElement, endElementInclusive)RangeBuilder将两个完整元素以及它们之间的所有元素添加到此 RangeBuilder
addElementsBetween(startTextElement, startOffset, endTextElementInclusive, endOffsetInclusive)RangeBuilder将两个部分 Text 元素以及它们之间的所有元素添加到 RangeBuilder
addRange(range)RangeBuilder将另一个 Range 的内容添加到此 RangeBuilder
build()Range根据应用于构建器的设置构造 Range
getRangeElements()RangeElement[]获取此 Range 中的所有元素,包括任何部分 Text 元素(例如,如果选择仅包含 Text 元素的一部分)。

详细文档

addElement(element)

将整个 Element 添加到此 RangeBuilder

参数

名称类型说明
elementElement要添加的元素

返回

RangeBuilder - this 构建器,用于链式调用

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addElement(textElement, startOffset, endOffsetInclusive)

向此 RangeBuilder 添加部分 Text 元素。

参数

名称类型说明
textElementText要部分添加的文本元素
startOffsetInteger要包含的第一个字符前面的字符数(即范围中第一个字符的索引)
endOffsetInclusiveInteger要包含的最后一个字符之前的字符数(即范围中最后一个字符的索引)

返回

RangeBuilder - this 构建器,用于链式调用

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addElementsBetween(startElement, endElementInclusive)

将两个完整元素以及它们之间的所有元素添加到此 RangeBuilder

参数

名称类型说明
startElementElement要添加的第一个元素
endElementInclusiveElement要添加的最后一个元素

返回

RangeBuilder - this 构建器,用于链式调用

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addElementsBetween(startTextElement, startOffset, endTextElementInclusive, endOffsetInclusive)

将两个部分 Text 元素以及它们之间的所有元素添加到 RangeBuilder

参数

名称类型说明
startTextElementText要部分添加的第一个文本元素
startOffsetInteger要包含的 startTextElement 第一个字符之前的字符数(即范围中第一个字符的索引)
endTextElementInclusiveText要部分添加的最后一个文本元素
endOffsetInclusiveInteger要包含的 endTextElementInclusive 的最后一个字符之前的字符数(即范围中最后一个字符的索引)

返回

RangeBuilder - this 构建器,用于链式调用

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addRange(range)

将另一个 Range 的内容添加到此 RangeBuilder

参数

名称类型说明
rangeRange应添加元素的范围

返回

RangeBuilder - this 构建器,用于链式调用

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

build()

根据应用于构建器的设置构造 Range

返回

Range - 新构建的范围


getRangeElements()

获取此 Range 中的所有元素,包括任何部分 Text 元素(例如,如果选择仅包含 Text 元素的一部分)。如需确定 Text 元素是否仅部分包含在范围内,请参阅 RangeElement.isPartial()

返回

RangeElement[] - 元素数组,按文档中显示的顺序

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

已弃用的方法