表示表格单元格的元素。TableCell
始终包含在 TableRow
中,可以包含 ListItem
、Paragraph
或 Table
元素。对于
有关文档结构的更多信息,请参阅扩展 Google 文档指南。
方法
详细文档
appendHorizontalRule()
创建并附加新的 HorizontalRule
。
HorizontalRule
将包含在新 Paragraph
中。
返回
HorizontalRule
- 新的水平规则
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendImage(image)
根据指定的图片 blob 创建并附加新的 InlineImage
。
InlineImage
将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
image | BlobSource | 图片数据 |
返回
InlineImage
- 新映像
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendImage(image)
附加指定的 InlineImage
。
InlineImage
将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
image | InlineImage | 图片数据 |
返回
InlineImage
- 附加的图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendListItem(listItem)
appendListItem(text)
appendParagraph(paragraph)
appendParagraph(text)
appendTable()
appendTable(cells)
appendTable(table)
clear()
copy()
editAsText()
获取当前元素的 Text
版本,以用于修改。
使用 editAsText
可将元素内容处理为富文本格式。editAsText
模式会忽略非文本元素(例如 InlineImage
和 HorizontalRule
)。
完全包含在已删除文本范围内的子元素会从相应元素中移除。
var 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
- 当前元素的文本版本
findElement(elementType)
搜索指定类型的后代元素的内容。
参数
名称 | 类型 | 说明 |
---|---|---|
elementType | ElementType | 要搜索的元素的类型。 |
返回
RangeElement
- 表示搜索元素位置的搜索结果。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findElement(elementType, from)
搜索指定类型的后代元素的内容,从
指定的 RangeElement
。
var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().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
getAttributes()
检索元素的属性。
结果会得到一个对象,其中包含每个有效元素属性对应的属性,其中每个
属性名称对应于 DocumentApp.Attribute
枚举中的一个项。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.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
getBackgroundColor()
检索背景颜色。
返回
String
- 背景颜色,采用 CSS 表示法格式(例如 '#ffffff'
)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getChild(childIndex)
检索指定子索引处的子元素。
var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody(); // Obtain the first element in the tab. 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)
getColSpan()
检索列跨度,即此单元格跨过的表格单元格的列数。 未合并的单元格的列跨度为 1。
返回
Integer
- 列跨度或 0(如果单元格已并入另一个单元格)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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
getNextSibling()
getNumChildren()
检索子元素的数量。
var 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
getPaddingBottom()
检索底部内边距(以点为单位)。
返回
Number
- 底部内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPaddingLeft()
检索左侧内边距(以点为单位)。
返回
Number
- 左侧内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPaddingRight()
检索右侧内边距(以点为单位)。
返回
Number
- 右侧内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPaddingTop()
检索上内边距,以点为单位。
返回
Number
- 上内边距(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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
getParentRow()
getParentTable()
getPreviousSibling()
getRowSpan()
检索行跨度,即此单元格跨越的表单元格的行数。未合并 单元格的行跨度为 1。
返回
Integer
- 行跨度或 0(适用于被另一个单元格合并的单元格)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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 doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.getBody(); // Obtain the first element in the active tab's 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
getVerticalAlignment()
返回
VerticalAlignment
- 垂直对齐
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getWidth()
检索包含单元格的列宽(以点为单位)。
返回
Number
- 列宽(以点为单位)
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertHorizontalRule(childIndex)
在指定索引处创建并插入新的 HorizontalRule
。
水平规则将包含在新 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
返回
HorizontalRule
- 新的水平规则
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertImage(childIndex, image)
在指定的图片 blob 处创建并插入 InlineImage
。
索引中。
图片将包含到新的 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
image | BlobSource | 图片数据 |
返回
InlineImage
- 插入的内嵌图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertImage(childIndex, image)
在指定索引处插入给定 InlineImage
。
图片将包含到新的 Paragraph
中。
参数
名称 | 类型 | 说明 |
---|---|---|
childIndex | Integer | 要插入元素的索引 |
image | InlineImage | 要插入的图片 |
返回
InlineImage
- 插入的内嵌图片
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertListItem(childIndex, listItem)
insertListItem(childIndex, text)
insertParagraph(childIndex, paragraph)
insertParagraph(childIndex, text)
insertTable(childIndex)
insertTable(childIndex, cells)
insertTable(childIndex, table)
isAtDocumentEnd()
merge()
将元素与前一个相同类型的同级元素合并。
只能合并同一 ElementType
的元素。文件中包含的
当前元素会移动到前一个同级元素。
当前元素会从文档中移除。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.getBody(); // Example 1: Merge paragraphs // Append two paragraphs to the document's active tab. 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();
返回
TableCell
- 合并的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
removeChild(child)
removeFromParent()
将元素从其父元素中移除。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab() var body = documentTab.getBody(); // Remove all images in the active tab's body. var imgs = body.getImages(); for (var i = 0; i < imgs.length; i++) { imgs[i].removeFromParent(); }
返回
TableCell
- 已移除的元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
replaceText(searchPattern, replacement)
使用常规 表达式。
搜索模式作为字符串(而非 JavaScript 正则表达式对象)传递。 因此,您需要对模式中的所有反斜杠进行转义。
此方法使用 Google 的 RE2 常规 表达式库,限制了支持的语法。
所提供的正则表达式格式会与每个文本块独立进行匹配 当前元素中包含的某些内容。
var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().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
setAttributes(attributes)
设置元素的属性。
指定的属性参数必须是一个对象,其中每个属性名称都是
DocumentApp.Attribute
枚举,并且每个属性值都是要
。
var doc = DocumentApp.getActiveDocument(); var documentTab = doc.getActiveTab().asDocumentTab(); var body = documentTab.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 | 元素的属性。 |
返回
TableCell
- 当前元素。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setBackgroundColor(color)
setLinkUrl(url)
setPaddingBottom(paddingBottom)
setPaddingLeft(paddingLeft)
setPaddingRight(paddingRight)
setPaddingTop(paddingTop)
setText(text)
setTextAlignment(textAlignment)
设置文本对齐方式。可用的对齐类型包括 DocumentApp.TextAlignment.NORMAL
、DocumentApp.TextAlignment.SUBSCRIPT
和 DocumentApp.TextAlignment.SUPERSCRIPT
。
// Make the entire first paragraph in the active tab be superscript. var documentTab = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab(); var text = documentTab.getBody().getParagraphs()[0].editAsText(); text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);
参数
名称 | 类型 | 说明 |
---|---|---|
textAlignment | TextAlignment | 要应用的文字对齐方式类型 |
返回
TableCell
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setVerticalAlignment(alignment)
设置垂直对齐方式。
参数
名称 | 类型 | 说明 |
---|---|---|
alignment | VerticalAlignment | 垂直对齐 |
返回
TableCell
- 当前元素
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents