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 对应的文本范围集合。
getListParagraphs()Paragraph[]返回与当前文本范围重叠的列表中的段落。
getListStyle()ListStyle返回当前文本范围的 ListStyle
getParagraphStyle()ParagraphStyle返回当前文本范围的 ParagraphStyle
getParagraphs()Paragraph[]返回与当前文本范围重叠的段落。
getRange(startOffset, endOffset)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()

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

返回

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 对应的文本范围集合。

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

您可以通过 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,其覆盖了派生自其的范围的一部分。

参数

名称类型说明
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

授权

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

  • 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