表示表格行的一个元素。Table 始终包含在 Table 中,并且只能包含 Table 元素。如需详细了解文档结构,请参阅扩展 Google 文档指南。
方法
详细文档
append Table Cell()
append Table Cell(textContents)
append Table Cell(tableCell)
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 Cell(cellIndex)
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 Link Url()
检索链接网址。
返回
String|null - 链接网址,如果元素包含此属性的多个值,则为 null
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Minimum Height()
检索最小高度(以点为单位)。
返回
Number|null - 最小高度(以点为单位)
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Next Sibling()
get Num Cells()
检索行中的单元格数量。
返回
Integer - 单元格数量
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
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 Parent()
检索元素的父元素。
父元素包含当前元素。
返回
Container - 父元素。
授权
使用此方法的脚本需要获得以下一项或多项范围的授权:
-
https://www.googleapis.com/auth/documents.currentonly -
https://www.googleapis.com/auth/documents
get Parent Table()
get Previous Sibling()
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 Table Cell(childIndex)
insert Table Cell(childIndex, textContents)
insert Table Cell(childIndex, tableCell)
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 Cell(cellIndex)
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 Link Url(url)
set Minimum Height(minHeight)
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