表示列表项的元素。ListItem
是与列表 ID 关联的 Paragraph
。ListItem
可以包含 Equation
、Footnote
、HorizontalRule
、InlineDrawing
、InlineImage
、PageBreak
和 Text
元素。如需详细了解文档结构,请参阅扩展 Google 文档的指南。
ListItems
不能包含换行符。换行符(“\n”)转换为换行字符(“\r”)。
具有相同列表 ID 的 ListItems
属于同一列表,并相应地进行编号。给定列表的 ListItems
不必在文档中相邻,甚至不需要具有相同的父元素。属于同一列表的两个项可以存在于文档中的任何位置,同时保持连续编号,如以下示例所示:
var body = DocumentApp.getActiveDocument().getBody(); // Append a new list item to the body. var item1 = body.appendListItem('Item 1'); // Log the new list item's list ID. Logger.log(item1.getListId()); // Append a table after the list item. body.appendTable([ ['Cell 1', 'Cell 2'] ]); // Append a second list item with the same list ID. The two items are treated as the same list, // despite not being consecutive. var item2 = body.appendListItem('Item 2'); item2.setListId(item1);
方法
详细文档
addPositionedImage(image)
根据指定的图像 blob 创建并插入新的 PositionedImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
image | BlobSource | 图片数据 |
弃踢回攻
PositionedImage
- 已定位的新图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendHorizontalRule()
创建并附加新的 HorizontalRule
。
弃踢回攻
HorizontalRule
- 新的水平规则
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendInlineImage(image)
根据指定的图像 blob 创建并附加新的 InlineImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
image | BlobSource | 图片数据 |
弃踢回攻
InlineImage
- 附加的图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendInlineImage(image)
将给定的 InlineImage
附加到末尾。
参数
名称 | 类型 | 说明 |
---|---|---|
image | InlineImage | 图片数据 |
弃踢回攻
InlineImage
- 附加的图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendPageBreak()
创建并附加新的 PageBreak
。
注意:PageBreaks
可能不包含在 TableCells
中。如果当前元素包含在表格单元格中,则会引发异常。
弃踢回攻
PageBreak
- 新的分页符元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendPageBreak(pageBreak)
附加给定的 PageBreak
。
注意:PageBreaks
可能不包含在 TableCells
中。如果当前元素包含在表格单元格中,则会引发异常。
参数
名称 | 类型 | 说明 |
---|---|---|
pageBreak | PageBreak | 要附加的分页符 |
弃踢回攻
PageBreak
- 附加的分页符元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendText(text)
appendText(text)
clear()
copy()
editAsText()
获取当前元素的 Text
版本,以用于修改。
使用 editAsText
将元素内容处理为富文本。editAsText
模式会忽略非文本元素(例如 InlineImage
和 HorizontalRule
)。
已删除文本范围内完全包含的子元素会从相应元素中移除。
var body = DocumentApp.getActiveDocument().getBody(); // Insert two paragraphs separated by a paragraph containing an // horizontal rule. body.insertParagraph(0, "An editAsText sample."); body.insertHorizontalRule(0); body.insertParagraph(0, "An example."); // Delete " sample.\n\n An" removing the horizontal rule in the process. body.editAsText().deleteText(14, 25);
弃踢回攻
Text
- 当前元素的文本版本
findElement(elementType)
在元素的内容中搜索指定类型的后代。
参数
名称 | 类型 | 说明 |
---|---|---|
elementType | ElementType | 要搜索的元素类型 |
弃踢回攻
RangeElement
- 表示搜索元素位置的搜索结果
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findElement(elementType, from)
在元素内容中搜索指定类型的后代,从指定的 RangeElement
开始。
// Get the body section of the active document. var body = DocumentApp.getActiveDocument().getBody(); // Define the search parameters. var searchType = DocumentApp.ElementType.PARAGRAPH; var searchHeading = DocumentApp.ParagraphHeading.HEADING1; var searchResult = null; // Search until the paragraph is found. while (searchResult = body.findElement(searchType, searchResult)) { var par = searchResult.getElement().asParagraph(); if (par.getHeading() == searchHeading) { // Found one, update and stop. par.setText('This is the first header.'); return; } }
参数
名称 | 类型 | 说明 |
---|---|---|
elementType | ElementType | 要搜索的元素类型 |
from | RangeElement | 要搜索的搜索结果 |
弃踢回攻
RangeElement
- 表示搜索元素下一个位置的搜索结果
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findText(searchPattern)
使用正则表达式在元素内容中搜索指定文本格式。
部分 JavaScript 正则表达式功能(如捕获组和模式修饰符)不完全受支持。
提供的正则表达式模式与当前元素中包含的每个文本块独立匹配。
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的格式 |
弃踢回攻
RangeElement
- 指示搜索文本位置的搜索结果,如果没有匹配项,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findText(searchPattern, from)
从指定搜索结果开始,搜索指定文本格式的元素内容。
部分 JavaScript 正则表达式功能(如捕获组和模式修饰符)不完全受支持。
提供的正则表达式模式与当前元素中包含的每个文本块独立匹配。
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的格式 |
from | RangeElement | 要搜索的搜索结果 |
弃踢回攻
RangeElement
- 指示搜索文本下一个位置的搜索结果,如果没有匹配项,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAlignment()
弃踢回攻
HorizontalAlignment
- 对齐方式
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAttributes()
检索元素的属性。
结果会得到一个包含每个有效元素属性的属性的对象,其中每个属性名称对应 DocumentApp.Attribute
枚举中的一项。
var body = DocumentApp.getActiveDocument().getBody(); // Append a styled paragraph. var par = body.appendParagraph('A bold, italicized paragraph.'); par.setBold(true); par.setItalic(true); // Retrieve the paragraph's attributes. var atts = par.getAttributes(); // Log the paragraph attributes. for (var att in atts) { Logger.log(att + ":" + atts[att]); }
弃踢回攻
Object
- 元素的属性。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getChild(childIndex)
检索指定子索引处的子元素。
// Get the body section of the active document. var body = DocumentApp.getActiveDocument().getBody(); // Obtain the first element in the document. var firstChild = body.getChild(0); // If it's a paragraph, set its contents. if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) { firstChild.asParagraph().setText("This is the first paragraph."); }
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要检索的子元素的索引 |
弃踢回攻
Element
- 指定索引处的子元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getChildIndex(child)
getGlyphType()
getHeading()
检索 ParagraphHeading
。
弃踢回攻
ParagraphHeading
- 标题
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getIndentEnd()
检索结尾缩进(以点为单位)。
弃踢回攻
Number
- 结束缩进(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getIndentFirstLine()
检索首行缩进(以点为单位)。
弃踢回攻
Number
- 首行缩进(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getIndentStart()
检索起始缩进。
弃踢回攻
Number
- 起始缩进
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getLineSpacing()
检索行间距(以点为单位)。
弃踢回攻
Number
- 行间距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getLinkUrl()
检索链接网址。
弃踢回攻
String
- 链接网址;如果元素包含此属性的多个值,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getListId()
检索列表 ID。
弃踢回攻
String
- 列表 ID
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNestingLevel()
检索列表项的嵌套级别。
默认情况下,列表项的嵌套级别为零。嵌套级别决定了列表项使用的字形。
弃踢回攻
Integer
- 嵌套级别
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNextSibling()
getNumChildren()
检索子项的数量。
// Get the body section of the active document. var body = DocumentApp.getActiveDocument().getBody(); // Log the number of elements in the document. Logger.log("There are " + body.getNumChildren() + " elements in the document body.");
弃踢回攻
Integer
- 子级数量
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getParent()
获取元素的父元素。
父元素包含当前元素。
弃踢回攻
ContainerElement
- 父元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPositionedImage(id)
按图片的 ID 获取 PositionedImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
id | String | 图片 ID |
弃踢回攻
PositionedImage
- 定位的图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPositionedImages()
获取锚定在段落中的所有 PositionedImage
对象。
弃踢回攻
PositionedImage[]
- 已定位的图片列表
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPreviousSibling()
getSpacingAfter()
检索元素之后的间距(以点为单位)。
弃踢回攻
Number
- 元素后面的间距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getSpacingBefore()
检索元素前的间距(以点为单位)。
弃踢回攻
Number
- 元素前的间距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getText()
以文本字符串的形式检索元素的内容。
弃踢回攻
String
- 文本字符串形式的元素内容
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTextAlignment()
获取文本对齐方式。可用的对齐方式包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
弃踢回攻
TextAlignment
- 文本对齐方式;如果文本包含多种类型的文本对齐方式或者从未设置文本对齐方式,则返回 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getType()
检索元素的 ElementType
。
使用 getType()
可确定给定元素的确切类型。
var body = DocumentApp.getActiveDocument().getBody(); // Obtain the first element in the document body. var firstChild = body.getChild(0); // Use getType() to determine the element's type. if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) { Logger.log('The first element is a paragraph.'); } else { Logger.log('The first element is not a paragraph.'); }
弃踢回攻
ElementType
- 元素类型。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertHorizontalRule(childIndex)
在指定索引处创建并插入 HorizontalRule
。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
弃踢回攻
HorizontalRule
- 新的水平规则元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertInlineImage(childIndex, image)
根据指定的图片 blob 在指定索引处创建并插入新的 InlineImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
image | BlobSource | 图片数据 |
弃踢回攻
InlineImage
- 插入的内嵌图片元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertInlineImage(childIndex, image)
在指定索引处插入指定的 InlineImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
image | InlineImage | 图片数据 |
弃踢回攻
InlineImage
- 插入的内嵌图片元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertPageBreak(childIndex)
在指定索引处创建并插入新的 PageBreak
。
注意:PageBreaks
可能不包含在 TableCells
中。如果当前元素包含在表格单元格中,则会引发异常。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
弃踢回攻
PageBreak
- 新的分页符元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertPageBreak(childIndex, pageBreak)
在指定索引处插入指定的 PageBreak
。
注意:PageBreaks
可能不包含在 TableCells
中。如果当前元素包含在表格单元格中,则会引发异常。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
pageBreak | PageBreak | 分页符 [要插入的分页符 |
弃踢回攻
PageBreak
- 插入的分页符元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertText(childIndex, text)
insertText(childIndex, text)
isAtDocumentEnd()
isLeftToRight()
检索从左到右的设置。
弃踢回攻
Boolean
- 从左到右的设置
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
merge()
将元素与同一类型的前面的同级元素合并。
只能合并同一 ElementType
的元素。当前元素中包含的任何子元素都将移动到前面的同级元素。
当前元素会从文档中移除。
var body = DocumentApp.getActiveDocument().getBody(); // Example 1: Merge paragraphs // Append two paragraphs to the document. var par1 = body.appendParagraph('Paragraph 1.'); var par2 = body.appendParagraph('Paragraph 2.'); // Merge the newly added paragraphs into a single paragraph. par2.merge(); // Example 2: Merge table cells // Create a two-dimensional array containing the table's cell contents. var cells = [ ['Row 1, Cell 1', 'Row 1, Cell 2'], ['Row 2, Cell 1', 'Row 2, Cell 2'] ]; // Build a table from the array. var table = body.appendTable(cells); // Get the first row in the table. var row = table.getRow(0); // Get the two cells in this row. var cell1 = row.getCell(0); var cell2 = row.getCell(1); // Merge the current cell into its preceding sibling element. var merged = cell2.merge();
弃踢回攻
ListItem
- 已合并的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeChild(child)
removeFromParent()
将元素从其父项中移除。
var body = DocumentApp.getActiveDocument().getBody(); // Remove all images in the document body. var imgs = body.getImages(); for (var i = 0; i < imgs.length; i++) { imgs[i].removeFromParent(); }
弃踢回攻
ListItem
- 已移除的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removePositionedImage(id)
按映像的 ID 移除 PositionedImage
。
参数
名称 | 类型 | 说明 |
---|---|---|
id | String |
弃踢回攻
Boolean
- 是否移除指定的图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
replaceText(searchPattern, replacement)
使用正则表达式将给定文本格式出现的所有项替换为指定的替换字符串。
搜索模式会以字符串(而非 JavaScript 正则表达式对象)的形式传递。 因此,您需要对格式中的所有反斜杠进行转义。
此方法使用 Google 的 RE2 正则表达式库,该库限制了支持的语法。
提供的正则表达式模式会与当前元素中包含的每个文本块独立匹配。
var body = DocumentApp.getActiveDocument().getBody(); // Clear the text surrounding "Apps Script", with or without text. body.replaceText("^.*Apps ?Script.*$", "Apps Script");
参数
名称 | 类型 | 说明 |
---|---|---|
searchPattern | String | 要搜索的正则表达式格式 |
replacement | String | 要用作替换的文本 |
弃踢回攻
Element
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setAlignment(alignment)
参数
名称 | 类型 | 说明 |
---|---|---|
alignment | HorizontalAlignment | 水平对齐 |
弃踢回攻
ListItem
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setAttributes(attributes)
设置元素的属性。
指定的属性参数必须是一个对象,其中每个属性名称都是 DocumentApp.Attribute
枚举中的一个项,每个属性值都是要应用的新值。
var body = DocumentApp.getActiveDocument().getBody(); // Define a custom paragraph style. var style = {}; style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.RIGHT; style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri'; style[DocumentApp.Attribute.FONT_SIZE] = 18; style[DocumentApp.Attribute.BOLD] = true; // Append a plain paragraph. var par = body.appendParagraph('A paragraph with custom style.'); // Apply the custom style. par.setAttributes(style);
参数
名称 | 类型 | 说明 |
---|---|---|
attributes | Object | 元素的属性。 |
弃踢回攻
ListItem
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setGlyphType(glyphType)
setHeading(heading)
设置 ParagraphHeading
。
参数
名称 | 类型 | 说明 |
---|---|---|
heading | ParagraphHeading | 标题 |
弃踢回攻
ListItem
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setIndentEnd(indentEnd)
setIndentFirstLine(indentFirstLine)
setIndentStart(indentStart)
setLeftToRight(leftToRight)
setLineSpacing(multiplier)
setLinkUrl(url)
setListId(listItem)
setNestingLevel(nestingLevel)
setSpacingAfter(spacingAfter)
setSpacingBefore(spacingBefore)
setText(text)
将列表项的内容设置为文本。
注意:现有内容将被清除。
参数
名称 | 类型 | 说明 |
---|---|---|
text | String | 新文本内容 |
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setTextAlignment(textAlignment)
设置文本对齐方式。可用的对齐类型包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
// Make the entire first paragraph be superscript. var text = DocumentApp.getActiveDocument().getBody().getParagraphs()[0].editAsText(); text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);
参数
名称 | 类型 | 说明 |
---|---|---|
textAlignment | TextAlignment | 要应用的文本对齐方式类型 |
弃踢回攻
ListItem
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents