Google 文档中标签页的内容。Body 可能包含 List、Paragraph、Table 和 Table 元素。如需详细了解文档结构,请参阅扩展 Google 文档指南。
Body 通常包含标签页的完整内容,但 Header、Footer 和任何 Footnote 元素除外。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Append a paragraph and a page break to the tab's body section directly. body.appendParagraph('A paragraph.'); body.appendPageBreak();
方法
详细文档
append Horizontal Rule()
创建并附加新的 Horizontal。
Horizontal 将包含在新的 Paragraph 中。
返回
Horizontal - 新的水平线。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
append Image(image)
根据指定的图片 blob 创建并附加新的 Inline。
图片将包含在新的 Paragraph 中。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
image | Blob | 图片数据。 |
返回
Inline - 附加的图片。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
append Image(image)
附加给定的 Inline。
Inline 将包含在新的 Paragraph 中。
在附加现有 Inline 的副本时,使用此版本的 append。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
image | Inline | 图片数据。 |
返回
Inline - 附加的图片。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
append List Item(listItem)
append List Item(text)
append Page Break()
append Page Break(pageBreak)
append Paragraph(paragraph)
append Paragraph(text)
append Table()
append Table(cells)
append Table(table)
clear()
copy()
edit As Text()
获取当前元素的 Text 版本以进行修改。
使用 edit 将元素内容作为富文本进行操作。edit 模式会忽略非文本元素(例如 Inline 和 Horizontal)。
完全包含在已删除文本范围内的子元素会从相应元素中移除。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().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 - 当前元素的文本版本
find Element(elementType)
在元素的内容中搜索指定类型的后代。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
element | Element | 要搜索的元素类型。 |
返回
Range - 一种搜索结果,用于指示搜索元素的位置。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
find Element(elementType, from)
从指定的 Range 开始,在元素的内容中搜索指定类型的后代。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Define the search parameters. let searchResult = null; // Search until the paragraph is found. while ( (searchResult = body.findElement( DocumentApp.ElementType.PARAGRAPH, searchResult, ))) { const par = searchResult.getElement().asParagraph(); if (par.getHeading() === DocumentApp.ParagraphHeading.HEADING1) { // Found one, update and stop. par.setText('This is the first header.'); break; } }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
element | Element | 要搜索的元素类型。 |
from | Range | 要从中搜索的搜索结果。 |
返回
Range - 一种搜索结果,用于指示搜索元素的下一个位置。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
find Text(searchPattern)
使用正则表达式在元素的内容中搜索指定的文本模式。
部分 JavaScript 正则表达式功能不受完全支持,例如捕获组和模式修饰符。
系统会针对当前元素中包含的每个文本块独立匹配所提供的正则表达式模式。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
search | String | 要搜索的模式 |
返回
Range - 指示搜索文本位置的搜索结果,如果没有匹配项,则为 null
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
find Text(searchPattern, from)
从给定的搜索结果开始,在元素的内容中搜索指定的文本模式。
部分 JavaScript 正则表达式功能不受完全支持,例如捕获组和模式修饰符。
系统会针对当前元素中包含的每个文本块独立匹配所提供的正则表达式模式。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
search | String | 要搜索的模式 |
from | Range | 要开始搜索的搜索结果 |
返回
Range - 指示搜索文本的下一个位置的搜索结果,如果没有匹配项,则为 null
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Attributes()
检索元素的属性。
结果是一个对象,其中包含每个有效元素属性的属性,每个属性名称都对应于 Document 枚举中的一个项。
const doc = DocumentApp.getActiveDocument(); const documentTab = doc.getActiveTab().asDocumentTab(); const body = documentTab.getBody(); // Append a styled paragraph. const par = body.appendParagraph('A bold, italicized paragraph.'); par.setBold(true); par.setItalic(true); // Retrieve the paragraph's attributes. const atts = par.getAttributes(); // Log the paragraph attributes. for (const att in atts) { Logger.log(`${att}:${atts[att]}`); }
返回
Object - 元素的属性。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Child(childIndex)
检索指定子索引处的子元素。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Obtain the first element in the tab. const 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.'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
child | Integer | 要检索的子元素的索引。 |
返回
Element - 指定索引处的子元素。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Child Index(child)
get Heading Attributes(paragraphHeading)
检索所提供 Paragraph 的属性集。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
paragraph | Paragraph | 应检索其属性的标题。 |
返回
Object - 属性及其当前值的映射。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Images()
检索相应部分中包含的所有 Inline。
返回
Inline - 版块图片。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get List Items()
检索相应部分中包含的所有 List。
返回
List - 版块列表项。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Margin Bottom()
检索下边距(以磅为单位)。
返回
Number|null - 下边距(以点为单位)。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Margin Left()
检索左边距(以磅为单位)。
返回
Number|null - 左边距(以磅为单位)。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Margin Right()
检索右边距。
返回
Number|null - 右边距(以点为单位)。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Margin Top()
检索上边距。
返回
Number|null - 上边距(以磅为单位)。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Num Children()
检索子项的数量。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Log the number of elements in the tab. Logger.log(`There are ${body.getNumChildren()} elements in the tab's body.`);
返回
Integer - 子项数量。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Page Height()
检索页面高度(以磅为单位)。
返回
Number|null - 页面高度(以点为单位)。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Page Width()
检索页面宽度(以点为单位)。
返回
Number|null - 页面宽度,以磅为单位。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Paragraphs()
检索部分中包含的所有 Paragraphs(包括 List)。
返回
Paragraph[]|null - 部分段落。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Parent()
检索元素的父元素。
父元素包含当前元素。
返回
Container - 父元素。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Tables()
get Text()
以文本字符串形式检索元素的内容。
返回
String - 元素的内容(以文本字符串形式表示)
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Text Alignment()
获取文本对齐方式。可用的对齐类型包括 Document、Document 和 Document。
返回
Text - 文本对齐类型,如果文本包含多种文本对齐类型或从未设置过文本对齐方式,则为 null
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Type()
检索元素的 Element。
使用 get 确定给定元素的确切类型。
const doc = DocumentApp.getActiveDocument(); const documentTab = doc.getActiveTab().asDocumentTab(); const body = documentTab.getBody(); // Obtain the first element in the active tab's body. const 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.'); }
返回
Element - 元素类型。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
insert Horizontal Rule(childIndex)
在指定索引处创建并插入新的 Horizontal。
Horizontal 将包含在新的 Paragraph 中。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
child | Integer | 要插入元素的索引。 |
返回
Horizontal - 新的水平线。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
insert Image(childIndex, image)
在指定索引处,根据指定的图片 blob 创建并插入 Inline。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
child | Integer | 要插入元素的索引。 |
image | Blob | 图片数据。 |
返回
Inline - 插入的内嵌图片。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
insert Image(childIndex, image)
在指定索引处插入给定的 Inline。
图片将包含在新的 Paragraph 中。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
child | Integer | 要插入元素的索引。 |
image | Inline | 要插入的图片。 |
返回
Inline - 插入的内嵌图片。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
insert List Item(childIndex, listItem)
insert List Item(childIndex, text)
insert Page Break(childIndex)
insert Page Break(childIndex, pageBreak)
insert Paragraph(childIndex, paragraph)
insert Paragraph(childIndex, text)
insert Table(childIndex)
insert Table(childIndex, cells)
insert Table(childIndex, table)
remove Child(child)
replace Text(searchPattern, replacement)
使用正则表达式将指定文本模式的所有匹配项替换为指定的替换字符串。
搜索模式以字符串形式传递,而不是以 JavaScript 正则表达式对象形式传递。 因此,您需要对模式中的所有反斜杠进行转义。
此方法使用 Google 的 RE2 正则表达式库,该库限制了支持的语法。
系统会根据所提供的正则表达式模式,单独匹配当前元素中包含的每个文本块。
const body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Clear the text surrounding "Apps Script", with or without text. body.replaceText('^.*Apps ?Script.*$', 'Apps Script');
参数
| 名称 | 类型 | 说明 |
|---|---|---|
search | String | 要搜索的正则表达式模式 |
replacement | String | 用作替换项的文本 |
返回
Element - 当前元素
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
set Attributes(attributes)
设置元素的属性。
指定的 attributes 参数必须是一个对象,其中每个属性名称都是 Document 枚举中的一个项,每个属性值都是要应用的新值。
const doc = DocumentApp.getActiveDocument(); const documentTab = doc.getActiveTab().asDocumentTab(); const body = documentTab.getBody(); // Define a custom paragraph style. const 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. const par = body.appendParagraph('A paragraph with custom style.'); // Apply the custom style. par.setAttributes(style);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
attributes | Object | 元素的属性。 |
返回
Body - 当前元素。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
set Heading Attributes(paragraphHeading, attributes)
为提供的 Paragraph 设置属性。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
paragraph | Paragraph | 应设置属性的标题。 |
attributes | Object | 属性及其要设置的值的映射。 |
返回
Body - 当前元素。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
set Margin Bottom(marginBottom)
set Margin Left(marginLeft)
set Margin Right(marginRight)
set Margin Top(marginTop)
set Page Height(pageHeight)
set Page Width(pageWidth)
set Text(text)
set Text Alignment(textAlignment)
设置文本对齐方式。可用的对齐类型包括 Document、Document 和 Document。
// Make the entire first paragraph in the active tab be superscript. const documentTab = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab(); const text = documentTab.getBody().getParagraphs()[0].editAsText(); text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
text | Text | 要应用的文字对齐类型 |
返回
Body - 当前元素
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents