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();
方法
已淘汰的方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
| Footnote[] | 擷取區段中包含的所有 Footnotes 。 |
| String | 擷取連結網址。 |
| Element | 擷取元素的下一個同層元素。 |
| Element | 擷取元素的上一個同胞元素。 |
| Boolean | 判斷元素是否位於 Document 的結尾。 |
| Body | 設定連結網址。 |
內容詳盡的說明文件
appendHorizontalRule()
建立並附加新的 Horizontal
。
Horizontal
會包含在新 Paragraph
中。
回攻員
Horizontal
:新的水平線。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendImage(image)
從指定的圖片 blob 建立並附加新的 Inline
。
圖片會包含在新 Paragraph
中。
參數
名稱 | 類型 | 說明 |
---|---|---|
image | Blob | 圖片資料。 |
回攻員
Inline
:附加的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendImage(image)
附加指定的 Inline
。
Inline
會包含在新 Paragraph
中。
在附加現有 Inline
的副本時,請使用這個版本的 append
。
參數
名稱 | 類型 | 說明 |
---|---|---|
image | Inline | 圖片資料。 |
回攻員
Inline
:附加的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
appendListItem(listItem)
appendListItem(text)
appendPageBreak()
appendPageBreak(pageBreak)
appendParagraph(paragraph)
appendParagraph(text)
appendTable()
appendTable(cells)
appendTable(table)
clear()
copy()
editAsText()
取得目前元素的 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
:目前元素的文字版本
findElement(elementType)
搜尋指定類型子項的元素內容。
參數
名稱 | 類型 | 說明 |
---|---|---|
element | Element | 要搜尋的元素類型。 |
回攻員
Range
:搜尋結果,指出搜尋元素的位置。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findElement(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
findText(searchPattern)
使用規則運算式,搜尋元素內容中是否含有指定的文字模式。
部分 JavaScript 規則運算式功能並未完全支援,例如擷取群組和模式修飾符。
系統會將提供的規則運算式模式與目前元素中包含的每個文字區塊個別比對。
參數
名稱 | 類型 | 說明 |
---|---|---|
search | String | 要搜尋的模式 |
回攻員
Range
:搜尋結果,指出搜尋文字的位置,如果沒有相符項目,則為空值
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
findText(searchPattern, from)
從指定的搜尋結果開始,搜尋元素內容是否符合指定的文字模式。
部分 JavaScript 規則運算式功能並未完全支援,例如擷取群組和模式修飾符。
系統會將提供的規則運算式模式與目前元素中包含的每個文字區塊個別比對。
參數
名稱 | 類型 | 說明 |
---|---|---|
search | String | 要搜尋的模式 |
from | Range | 要搜尋的搜尋結果 |
回攻員
Range
:搜尋結果,指出搜尋文字的下一個位置。如果沒有相符項目,則為空值
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getAttributes()
擷取元素的屬性。
結果是物件,其中包含每個有效元素屬性的屬性,每個屬性名稱都對應至 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
getChild(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
getChildIndex(child)
getHeadingAttributes(paragraphHeading)
擷取提供的 Paragraph
屬性組合。
參數
名稱 | 類型 | 說明 |
---|---|---|
paragraph | Paragraph | 應擷取屬性的標題。 |
回攻員
Object
:屬性和目前值的對應表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getImages()
擷取區段中包含的所有 Inline
。
回攻員
Inline
:區段圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getListItems()
擷取區段中包含的所有 List
。
回攻員
List
:區段清單項目。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getMarginBottom()
擷取下邊界,以點為單位。
回攻員
Number
:下邊界,以點為單位。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getMarginLeft()
擷取左邊界線 (以點為單位)。
回攻員
Number
:左邊界,以點為單位。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getMarginRight()
擷取右邊界。
回攻員
Number
:右邊界,以點為單位。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getMarginTop()
擷取上邊界。
回攻員
Number
:上邊界,以點為單位。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNumChildren()
擷取兒童人數。
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
getPageHeight()
擷取頁面高度 (以點為單位)。
回攻員
Number
:頁面高度 (以點為單位)。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getPageWidth()
擷取頁面寬度 (以點為單位)。
回攻員
Number
:頁面寬度,以點為單位。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getParagraphs()
擷取區段中包含的所有 Paragraphs
(包括 List
)。
回攻員
Paragraph[]
:章節段落。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getParent()
擷取元素的父項元素。
父項元素包含目前元素。
回攻員
Container
:父項元素。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTables()
getText()
以文字字串形式擷取元素的內容。
回攻員
String
:元素的內容,以文字字串表示
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getTextAlignment()
取得文字對齊方式。對齊方式的類型包括 Document
、Document
和 Document
。
回攻員
Text
:文字對齊方式的類型,如果文字包含多種文字對齊方式,或從未設定文字對齊方式,則為 null
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getType()
擷取元素的 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
insertHorizontalRule(childIndex)
在指定索引處建立並插入新的 Horizontal
。
Horizontal
會包含在新 Paragraph
中。
參數
名稱 | 類型 | 說明 |
---|---|---|
child | Integer | 要插入元素的索引。 |
回攻員
Horizontal
:新的水平線。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertImage(childIndex, image)
在指定索引處,從指定圖片 Blob 建立並插入 Inline
。
參數
名稱 | 類型 | 說明 |
---|---|---|
child | Integer | 要插入元素的索引。 |
image | Blob | 圖片資料。 |
回攻員
Inline
:已插入的內嵌圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertImage(childIndex, image)
在指定索引處插入指定 Inline
。
圖片會包含在新 Paragraph
中。
參數
名稱 | 類型 | 說明 |
---|---|---|
child | Integer | 要插入元素的索引。 |
image | Inline | 要插入的圖片。 |
回攻員
Inline
:已插入的內嵌圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
insertListItem(childIndex, listItem)
insertListItem(childIndex, text)
insertPageBreak(childIndex)
insertPageBreak(childIndex, pageBreak)
insertParagraph(childIndex, paragraph)
insertParagraph(childIndex, text)
insertTable(childIndex)
insertTable(childIndex, cells)
insertTable(childIndex, table)
removeChild(child)
replaceText(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
setAttributes(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
setHeadingAttributes(paragraphHeading, attributes)
為提供的 Paragraph
設定屬性。
參數
名稱 | 類型 | 說明 |
---|---|---|
paragraph | Paragraph | 要設定屬性的標題。 |
attributes | Object | 屬性和要設為的值對應表。 |
回攻員
Body
:目前的元素。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
setMarginBottom(marginBottom)
setMarginLeft(marginLeft)
setMarginRight(marginRight)
setMarginTop(marginTop)
setPageHeight(pageHeight)
setPageWidth(pageWidth)
setText(text)
setTextAlignment(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
已淘汰的方法
getFootnotes()
getFootnotes()
已淘汰。這個元素不得包含 Footnote
。
擷取區段中包含的所有 Footnotes
。
回攻員
Footnote[]
:章節註腳。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getLinkUrl()
getLinkUrl()
已淘汰。請勿將連結套用至整個區段,而是將連結套用至區段中的元素。
擷取連結網址。
回攻員
String
:連結網址,如果元素包含這項屬性的多個值,則為空值
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
getNextSibling()
getNextSibling()
getPreviousSibling()
getPreviousSibling()
isAtDocumentEnd()
isAtDocumentEnd()
setLinkUrl(url)
setLinkUrl(url)