Class ContainerElement

ContainerElement

可包含其他元素的一般元素。可能包含子元素的所有元素 例如 Paragraph,繼承自 ContainerElement

方法

方法傳回類型簡短說明
asBody()Body將目前元素傳回為 Body
asEquation()Equation將目前元素傳回為 Equation
asFooterSection()FooterSection將目前元素傳回為 FooterSection
asFootnoteSection()FootnoteSection將目前元素傳回為 FootnoteSection
asHeaderSection()HeaderSection將目前元素傳回為 HeaderSection
asListItem()ListItem將目前元素傳回為 ListItem
asParagraph()Paragraph將目前元素傳回為 Paragraph
asTable()Table將目前元素傳回為 Table
asTableCell()TableCell將目前元素傳回為 TableCell
asTableOfContents()TableOfContents將目前元素傳回為 TableOfContents
asTableRow()TableRow將目前元素傳回為 TableRow
clear()ContainerElement清除元素內容。
copy()ContainerElement傳回目前元素的卸離的深度副本。
editAsText()Text取得目前元素的 Text 版本以進行編輯。
findElement(elementType)RangeElement搜尋指定類型的子系元素內容。
findElement(elementType, from)RangeElement從 指定的是 RangeElement
findText(searchPattern)RangeElement使用規則運算式搜尋元素內容,找出指定文字模式。
findText(searchPattern, from)RangeElement從指定的文字模式開始搜尋元素內容 搜尋結果。
getAttributes()Object擷取元素的屬性。
getChild(childIndex)Element在指定的子索引擷取子元素。
getChildIndex(child)Integer擷取指定子元素的子索引。
getLinkUrl()String擷取連結網址。
getNextSibling()Element擷取元素的下一個同層元素。
getNumChildren()Integer擷取子發布商數量。
getParent()ContainerElement擷取元素的父項元素。
getPreviousSibling()Element擷取元素先前的同層元素。
getText()String以文字字串形式擷取元素內容。
getTextAlignment()TextAlignment取得文字對齊方式。
getType()ElementType擷取元素的 ElementType
isAtDocumentEnd()Boolean決定元素是否位於 Document 的結尾。
merge()ContainerElement將元素與前述同類型的同層合併。
removeFromParent()ContainerElement從父項移除元素。
replaceText(searchPattern, replacement)Element使用一般的 運算式。
setAttributes(attributes)ContainerElement設定元素的屬性。
setLinkUrl(url)ContainerElement設定連結網址。
setTextAlignment(textAlignment)ContainerElement設定文字對齊方式。

內容詳盡的說明文件

asBody()

將目前元素傳回為 Body

使用此方法時,只要已知特定元素為 類型。

回攻員

Body:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asEquation()

將目前元素傳回為 Equation

使用此方法時,只要已知特定元素為 類型。

回攻員

Equation:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asFooterSection()

將目前元素傳回為 FooterSection

使用此方法時,只要已知特定元素為 類型。

回攻員

FooterSection:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asFootnoteSection()

將目前元素傳回為 FootnoteSection

使用此方法時,只要已知特定元素為 類型。

回攻員

FootnoteSection:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asHeaderSection()

將目前元素傳回為 HeaderSection

使用此方法時,只要已知特定元素為 類型。

回攻員

HeaderSection:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asListItem()

將目前元素傳回為 ListItem

使用此方法時,只要已知特定元素為 類型。

回攻員

ListItem:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asParagraph()

將目前元素傳回為 Paragraph

使用此方法時,只要已知特定元素為 類型。

回攻員

Paragraph:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTable()

將目前元素傳回為 Table

使用此方法時,只要已知特定元素為 類型。

回攻員

Table:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableCell()

將目前元素傳回為 TableCell

使用此方法時,只要已知特定元素為 類型。

回攻員

TableCell:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableOfContents()

將目前元素傳回為 TableOfContents

使用此方法時,只要已知特定元素為 類型。

回攻員

TableOfContents:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableRow()

將目前元素傳回為 TableRow

使用此方法時,只要已知特定元素為 類型。

回攻員

TableRow:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

clear()

清除元素內容。

回攻員

ContainerElement:目前的元素。


copy()

傳回目前元素的卸離的深度副本。

系統也會複製元素中的所有子元素。新元素沒有 父項。

回攻員

ContainerElement:新的副本。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

editAsText()

取得目前元素的 Text 版本以進行編輯。

您可以使用 editAsText 將元素內容視為 RTF 格式處理。editAsText 模式會忽略非文字元素 (例如 InlineImageHorizontalRule)。

刪除的文字範圍後,系統會移除元素中完全包含的子元素。

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)

搜尋指定類型的子系元素內容。

參數

名稱類型說明
elementTypeElementType要搜尋的元素類型。

回攻員

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;
  }
}

參數

名稱類型說明
elementTypeElementType要搜尋的元素類型。
fromRangeElement要搜尋的搜尋結果。

回攻員

RangeElement:指出搜尋元素下一個位置的搜尋結果。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

findText(searchPattern)

使用規則運算式搜尋元素內容,找出指定文字模式。

系統不支援部分 JavaScript 規則運算式功能,例如: 擷取群組和模式修飾符

系統會將提供的規則運算式模式與每個文字區塊分開比對 包含在目前元素中。

參數

名稱類型說明
searchPatternString也就是搜尋的模式

回攻員

RangeElement:指出搜尋文字位置的搜尋結果;如果沒有,則傳回空值 比對

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

findText(searchPattern, from)

從指定的文字模式開始搜尋元素內容 搜尋結果。

系統不支援部分 JavaScript 規則運算式功能,例如: 擷取群組和模式修飾符

系統會將提供的規則運算式模式與每個文字區塊分開比對 包含在目前元素中。

參數

名稱類型說明
searchPatternString也就是搜尋的模式
fromRangeElement要搜尋的搜尋結果

回攻員

RangeElement:指出搜尋文字下一個位置的搜尋結果;如果沒有,則傳回空值 比對

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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

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.");
}

參數

名稱類型說明
childIndexInteger要擷取的子元素索引。

回攻員

Element:指定索引的子元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getChildIndex(child)

擷取指定子元素的子索引。

參數

名稱類型說明
childElement要擷取索引的子元素。

回攻員

Integer:子索引。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getLinkUrl()

擷取連結網址。

回攻員

String:連結網址;如果元素包含多個值,則為空值

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNextSibling()

擷取元素的下一個同層元素。

下一個同層有相同的父項,並且跟隨目前的元素。

回攻員

Element - 下一個同層元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

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

getParent()

擷取元素的父項元素。

父項元素包含目前元素。

回攻員

ContainerElement:父項元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getPreviousSibling()

擷取元素先前的同層元素。

先前的同層有相同的父項,且在目前元素之前。

回攻員

Element:先前的同層元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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.NORMALDocumentApp.TextAlignment.SUBSCRIPTDocumentApp.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

isAtDocumentEnd()

決定元素是否位於 Document 的結尾。

回攻員

Boolean:元素是否位於分頁結尾。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

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();

回攻員

ContainerElement:合併的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

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();
}

回攻員

ContainerElement:已移除的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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");

參數

名稱類型說明
searchPatternString要搜尋的規則運算式模式
replacementString要用於取代的文字

回攻員

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);

參數

名稱類型說明
attributesObject元素的屬性。

回攻員

ContainerElement:目前的元素。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

setLinkUrl(url)

設定連結網址。

參數

名稱類型說明
urlString連結網址

回攻員

ContainerElement:目前的元素

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

setTextAlignment(textAlignment)

設定文字對齊方式。可用的對齊類型包括 DocumentApp.TextAlignment.NORMALDocumentApp.TextAlignment.SUBSCRIPTDocumentApp.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);

參數

名稱類型說明
textAlignmentTextAlignment要套用的文字對齊類型

回攻員

ContainerElement:目前的元素

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents