Class TextRange

文本范围

ShapeTableCell 的文本内容的一部分。

如果您使用的方法会修改文字在形状内的排布方式,则应用于该形状的所有自动调整设置都会停用。

方法

方法返回类型简介
appendParagraph(text)Paragraph在文本范围的末尾附加一个段落。
appendRange(textRange)TextRange将所提供文本范围的副本附加到当前文本范围的末尾。
appendRange(textRange, matchSourceFormatting)TextRange将所提供文本范围的副本附加到当前文本范围的末尾。
appendText(text)TextRange在文本范围的末尾附加文本。
asRenderedString()String以适合向最终用户显示的格式返回此范围内关联形状或表格单元格的呈现文本。
asString()String返回此范围内的关联形状或表格单元格的原始文本。
clear()void清除此范围内的文本。
clear(startOffset, endOffset)void清除范围内由起始偏移量和结束偏移量界定的文本。
find(pattern)TextRange[]返回当前文本范围内与搜索模式匹配的所有范围。
find(pattern, startOffset)TextRange[]返回当前文本范围内从起始偏移量开始与搜索模式匹配的所有范围。
getAutoTexts()AutoText[]返回当前文本范围内的自动文本。
getEndIndex()Integer返回此范围中最后一个字符的从 0 开始的独占索引。
getLength()Integer返回相应范围内的字符数。
getLinks()TextRange[]返回与当前文本范围内的所有 Link 或与当前文本范围重叠的所有 Link 对应的文本范围集合。
getListParagraphs()Paragraph[]返回与当前文本范围重叠的段落(以列表形式)。
getListStyle()ListStyle返回当前文本范围的 ListStyle
getParagraphStyle()ParagraphStyle返回当前文本范围的 ParagraphStyle
getParagraphs()Paragraph[]返回与当前文本范围重叠的段落。
getRange(startOffset, endOffset)TextRange返回一个新 TextRange,该 TextRange 涵盖了派生自的范围的一部分。
getRuns()TextRange[]返回与当前文本范围重叠的文本运行。
getStartIndex()Integer返回相应范围内第一个字符的索引(从 0 开始,含边界值)。
getTextStyle()TextStyle返回范围的文本样式,如果范围为空,则返回 null
insertParagraph(startOffset, text)Paragraph在起始偏移位置插入段落。
insertRange(startOffset, textRange)TextRange在起始偏移量处插入所提供文本范围的副本。
insertRange(startOffset, textRange, matchSourceFormatting)TextRange在起始偏移量处插入所提供文本范围的副本。
insertText(startOffset, text)TextRange在起始偏移位置插入文本。
isEmpty()Boolean如果此范围内没有字符,则返回 true;否则返回 false
replaceAllText(findText, replaceText)Integer将与查找文本匹配的所有文本实例替换为替换文本。
replaceAllText(findText, replaceText, matchCase)Integer将与查找文本匹配的所有文本实例替换为替换文本。
select()void仅选择有效演示中的 TextRange,并移除任何之前的选择。
setText(newText)TextRange设置关联的形状或表格单元格的相应范围内的文本。

详细文档

appendParagraph(text)

在文本范围的末尾附加一个段落。段落会保留当前文本范围末尾的样式。

通过向所提供的文本字符串添加至少一个周围的换行符,将该字符串附加为段落。

如果提供的文本字符串包含换行符(因此包含多个段落),则返回添加的最后一个段落。

参数

名称类型说明
textString要附加为段落的字符串。

返回

Paragraph - 附加的 Paragraph

授权

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

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

appendRange(textRange)

将所提供文本范围的副本附加到当前文本范围的末尾。

插入的文本的格式与源文本的格式一致。

参数

名称类型说明
textRangeTextRange要附加的文本范围。

返回

TextRange - 表示附加文本的文本范围。

授权

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

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

appendRange(textRange, matchSourceFormatting)

将所提供文本范围的副本附加到当前文本范围的末尾。

如果设置为与目标文本的格式匹配,则提供的文本范围内的 AutoText 会替换为其呈现的值。此外,系统不会附加所提供文本范围内的任何非文本元素。

参数

名称类型说明
textRangeTextRange要附加的文本范围。
matchSourceFormattingBoolean如果为 true,则匹配源文本的格式;如果为 false,则匹配目标文本的格式。

返回

TextRange - 表示附加文本的文本范围。

授权

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

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

appendText(text)

在文本范围的末尾附加文本。文本会保留现有文本末尾的样式。

参数

名称类型说明
textString要附加的字符串。

返回

TextRange - 表示附加文本的文本范围。

授权

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

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

asRenderedString()

以适合向最终用户显示的格式返回此范围内关联形状或表格单元格的呈现文本。

自动文本元素(例如生成的幻灯片编号)会被替换为呈现的值。 范围内的所有非文本元素都会被忽略。

返回

String - 范围内的呈现文本。

授权

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

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

asString()

返回此范围所限定的相关联形状或表格单元格的原始文本。

自动文本元素(例如生成的幻灯片编号)以及范围内的任何非文本元素都会替换为 Unicode 字符 U+E907。

返回

String - 范围内的原始文本。

授权

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

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

clear()

清除此范围内的文本。

由于 Shape 或 TableCell 中的整个文本必须以换行符结尾,因此不会移除文本中的最后一个换行符。

授权

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

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

clear(startOffset, endOffset)

清除范围内的起始偏移量和结束偏移量所界定的文本。

由于文本必须以换行符结尾,因此即使文本中的最后一个换行符被给定的偏移量覆盖,也不会被移除。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要清除的范围的起始索引(含)。起始偏移量必须大于或等于 0,且小于或等于 endOffsetstartOffset 还必须小于当前范围的长度。
endOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要清除的范围的独占结束索引。endOffset 必须大于或等于 startOffsetendOffset 还必须小于或等于当前范围的长度。

授权

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

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

find(pattern)

返回当前文本范围内与搜索模式匹配的所有范围。搜索区分大小写。

参数

名称类型说明
patternString要搜索的正则表达式模式;模式中的任何反斜杠都应进行转义。

返回

TextRange[] - 文本范围列表。

授权

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

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

find(pattern, startOffset)

返回当前文本范围内从起始偏移量开始与搜索模式匹配的所有范围。搜索区分大小写。

参数

名称类型说明
patternString要搜索的正则表达式模式;模式中的任何反斜杠都应进行转义。
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要搜索的范围的起始索引(含)。startOffset 还必须小于当前范围的长度。

返回

TextRange[] - 文本范围列表。

授权

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

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

getAutoTexts()

返回当前文本范围内的自动文本。

返回

AutoText[] - 自动输入的文字列表。

授权

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

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

getEndIndex()

返回此范围中最后一个字符的从 0 开始的独占索引。如果开始和结束索引相等,则该范围被视为空范围。

返回

Integer - 范围的结束索引。

授权

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

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

getLength()

返回相应范围内的字符数。

返回

Integer - 此范围内的字符数。

授权

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

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

返回与当前文本范围内的所有 Link 或与当前文本范围重叠的所有 Link 对应的文本范围集合。

每个返回的范围在创建时都保证跨越一个链接。文本修改可能会导致它不再只表示一个链接。

可通过 TextStyle.getLink() 访问返回范围内的每个 Link

// Accesses the first link on a TextRange object.
const textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
const linkTextRange = textRange.getLinks()[0];
const textStyle = linkTextRange.getTextStyle();
Logger.log(textStyle.hasLink());   // logs 'true'
const link = textStyle.getLink();  // Link object

返回

TextRange[] - 文本范围列表。

授权

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

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

getListParagraphs()

返回与当前文本范围重叠的段落(以列表形式)。

返回

Paragraph[] - 列表中的段落列表。

授权

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

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

getListStyle()

返回当前文本范围的 ListStyle

返回

ListStyle - 当前文本范围的列表样式。

授权

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

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

getParagraphStyle()

返回当前文本范围的 ParagraphStyle

返回

ParagraphStyle - 当前文本范围的段落样式。

授权

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

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

getParagraphs()

返回与当前文本范围重叠的段落。

返回

Paragraph[] - 段落列表。

授权

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

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

getRange(startOffset, endOffset)

返回一个新 TextRange,该 TextRange 涵盖了派生自的范围的一部分。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定返回范围的起始索引(含)。起始偏移量必须大于或等于 0,且小于或等于 endOffsetstartOffset 还必须小于当前范围的长度。
endOffsetInteger当前文本范围的起始索引之后的字符数,用于确定返回范围的独占结束索引。endOffset 必须大于或等于 startOffsetendOffset 还必须小于或等于当前范围的长度。

返回

TextRange - 新的文本范围。

授权

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

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

getRuns()

返回与当前文本范围重叠的文本运行。文本运行是指一段文本,其中所有字符都具有相同的文本样式。

每个返回的范围在创建时仅保证跨越一次运行。文字或样式修改可能会导致它不再准确表示一次跑步。

返回

TextRange[] - 文本范围列表。

授权

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

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

getStartIndex()

返回此范围中第一个字符的索引(从 0 开始,含边界值)。如果起始索引和结束索引相等,则该范围被视为空范围。

返回

Integer - 范围的起始索引。

授权

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

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

getTextStyle()

返回范围的文本样式,如果范围为空,则返回 null

返回

TextStyle - 范围的文本样式。

授权

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

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

insertParagraph(startOffset, text)

在起始偏移位置插入段落。段落在起始偏移量处保持当前文本范围的样式。

通过向提供的文本字符串添加至少一个周围的换行符,将该字符串作为段落插入。

如果提供的文本字符串包含换行符(因此包含多个段落),则返回添加的最后一个段落。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要插入的文本的起始索引(含)。
textString要插入的字符串。

返回

Paragraph - 插入的 Paragraph

授权

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

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

insertRange(startOffset, textRange)

在起始偏移量处插入所提供文本范围的副本。

插入的文本的格式与源文本的格式一致。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要插入的文本的起始索引(含)。
textRangeTextRange要插入的文本范围。

返回

TextRange - 表示插入文本的文本范围。

授权

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

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

insertRange(startOffset, textRange, matchSourceFormatting)

在起始偏移量处插入所提供文本范围的副本。

如果设置为与目标文本的格式匹配,则提供的文本范围内的 AutoText 会替换为其呈现的值。此外,系统不会插入所提供文本范围内的任何非文本元素。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要插入的文本的起始索引(含)。
textRangeTextRange要插入的文本范围。
matchSourceFormattingBoolean如果为 true,则匹配源文本的格式;如果为 false,则匹配目标文本的格式。

返回

TextRange - 表示插入文本的文本范围。

授权

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

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

insertText(startOffset, text)

在起始偏移位置插入文本。文本会保留起始偏移量处现有文本的样式。

参数

名称类型说明
startOffsetInteger当前文本范围的起始索引之后的字符数,用于确定要插入的文本的起始索引(含)。
textString要插入的字符串。

返回

TextRange - 表示插入文本的文本范围。

授权

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

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

isEmpty()

如果此范围内没有字符,则返回 true;否则返回 false

返回

Boolean - 如果此范围内没有字符,则为 true,否则为 false

授权

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

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

replaceAllText(findText, replaceText)

将与查找文本匹配的所有文本实例替换为替换文本。搜索不区分大小写。

参数

名称类型说明
findTextString要查找的文本。
replaceTextString用于替换匹配文本的文本。

返回

Integer - 更改后的出现次数

授权

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

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

replaceAllText(findText, replaceText, matchCase)

将与查找文本匹配的所有文本实例替换为替换文本。

参数

名称类型说明
findTextString要查找的文本。
replaceTextString用于替换匹配文本的文本。
matchCaseBoolean如果值为 true,则搜索区分大小写;如果值为 false,则搜索不区分大小写。

返回

Integer - 更改后的出现次数

授权

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

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

select()

仅选择当前演示中的 TextRange,并移除任何之前的选择。

脚本只能访问运行该脚本的用户的选择内容,并且只有当脚本绑定到演示文稿时才能访问。

相应 ShapeTableCell 的父级 Page 设置为 current page selection。将 ShapeTableCell 设置为 selected page element

    Selection 可以是以下两种类型:
    • 1. 文本范围,使用非空 TextRange 中的选择来选择字符范围。
    • 2. 光标位置,使用空的 TextRange 将光标置于所需的索引处。
      const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
      shape.getText().setText('Hello');
      // Range selection: Select the text range "He".
      shape.getText().getRange(0, 2).select();
      // Cursor selection: Place the cursor after "H" like "H|ello".
      shape.getText().getRange(1, 1).select();

      授权

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

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

    setText(newText)

    设置关联的形状或表格单元格的相应范围内的文本。文本会保留现有文本开头的样式。

    参数

    名称类型说明
    newTextString要设置为新文本的字符串。

    返回

    TextRange - 表示设置的文本的文本范围。

    授权

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

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