表示表格单元格的元素。Table
始终包含在 Table
中,并且可以包含 List
、Paragraph
或 Table
元素。如需详细了解文档结构,请参阅扩展 Google 文档的指南。
方法
详细文档
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
。
Inline
将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
image | Blob | 图片数据 |
返回
Inline
- 新图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
append Image(image)
附加给定的 Inline
。
Inline
将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
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 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 Background Color()
检索背景颜色。
返回
String
- 背景颜色,采用 CSS 标记法(例如 '#ffffff'
)的格式
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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 Col Span()
检索列跨度,即此单元格跨越的表格单元格的列数。 未合并的单元格的列跨度为 1。
返回
Integer
- 列跨度,对于被其他单元格合并的单元格,则为 0
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Link Url()
检索链接网址。
返回
String
- 链接网址;如果元素包含此属性的多个值,则为 null
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Next Sibling()
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 Padding Bottom()
检索底部内边距(以点为单位)。
返回
Number
- 底部内边距(以 pt 为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Padding Left()
检索左内边距(以点为单位)。
返回
Number
- 左内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Padding Right()
检索右内边距(以点为单位)。
返回
Number
- 右侧内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Padding Top()
检索顶部内边距(以点为单位)。
返回
Number
- 顶部内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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 Parent Row()
get Parent Table()
get Previous Sibling()
get Row Span()
检索行跨度,即此单元格跨越的表格单元格的行数。未合并的单元格的行跨度为 1。
返回
Integer
- 被其他单元格合并的单元格的行跨度,或 0
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
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
get Vertical Alignment()
返回
Vertical
- 垂直对齐
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Width()
检索包含单元格的列的宽度(以点为单位)。
返回
Number
- 列宽(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insert Horizontal Rule(childIndex)
在指定索引处创建并插入新的 Horizontal
。
水平线将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
child | Integer | 要插入元素的索引 |
返回
Horizontal
- 新的水平线
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insert Image(childIndex, image)
在指定位置从指定图片 blob 创建并插入 Inline
。
该图片将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
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 Paragraph(childIndex, paragraph)
insert Paragraph(childIndex, text)
insert Table(childIndex)
insert Table(childIndex, cells)
在指定索引处创建并插入包含指定单元格的新 Table
。
参数
名称 | 类型 | 说明 |
---|---|---|
child | Integer | 要插入的位置的索引 |
cells | String[][] | 要添加到新表中的表格单元格的文本内容 |
返回
Table
- 新表
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insert Table(childIndex, table)
is At Document End()
merge()
将元素与同一类型的上一个同级元素合并。
只有同一 Element
的元素才能合并。当前元素包含的所有子元素都会移至前面的同级元素。
当前元素会从文档中移除。
const doc = DocumentApp.getActiveDocument(); const documentTab = doc.getActiveTab().asDocumentTab(); const body = documentTab.getBody(); // Example 1: Merge paragraphs // Append two paragraphs to the document's active tab. const par1 = body.appendParagraph('Paragraph 1.'); const 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. const cells = [ ['Row 1, Cell 1', 'Row 1, Cell 2'], ['Row 2, Cell 1', 'Row 2, Cell 2'], ]; // Build a table from the array. const table = body.appendTable(cells); // Get the first row in the table. const row = table.getRow(0); // Get the two cells in this row. const cell1 = row.getCell(0); const cell2 = row.getCell(1); // Merge the current cell into its preceding sibling element. const merged = cell2.merge();
返回
Table
- 合并后的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
remove Child(child)
remove From Parent()
从其父元素中移除元素。
const doc = DocumentApp.getActiveDocument(); const documentTab = doc.getActiveTab().asDocumentTab(); const body = documentTab.getBody(); // Remove all images in the active tab's body. const imgs = body.getImages(); for (let i = 0; i < imgs.length; i++) { imgs[i].removeFromParent(); }
返回
Table
- 移除的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
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 | 元素的属性。 |
返回
Table
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
set Background Color(color)
set Link Url(url)
set Padding Bottom(paddingBottom)
set Padding Left(paddingLeft)
set Padding Right(paddingRight)
set Padding Top(paddingTop)
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 | 要应用的文本对齐方式 |
返回
Table
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
set Vertical Alignment(alignment)
设置垂直对齐方式。
参数
名称 | 类型 | 说明 |
---|---|---|
alignment | Vertical | 垂直对齐 |
返回
Table
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents