文件分頁,其中包含多媒體文字和表格、清單等元素。
使用 Document.getTabs()[tabIndex].asDocumentTab()
擷取文件分頁。
// Get a specific document tab based on the tab ID. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
add | Bookmark | 在指定的 Position 中新增 Bookmark 。 |
add | Footer | 如果沒有分頁底端區段,就會新增一個。 |
add | Header | 如果沒有分頁標頭區段,則會新增一個。 |
add | Named | 新增 Named ,這是具有名稱和 ID 的 Range ,可用於日後擷取。 |
get | Body | 擷取分頁的 Body 。 |
get | Bookmark | 取得具有指定 ID 的 Bookmark 。 |
get | Bookmark[] | 取得分頁中的所有 Bookmark 物件。 |
get | Footer | 擷取分頁的頁尾部分 (如果有的話)。 |
get | Footnote[] | 擷取分頁內文中的所有 Footnote 元素。 |
get | Header | 擷取分頁的標頭區段 (如有)。 |
get | Named | 取得具有指定 ID 的 Named 。 |
get | Named | 取得分頁中的所有 Named 物件。 |
get | Named | 取得指定名稱分頁中的所有 Named 物件。 |
new | Position | 建立新的 Position ,這是對分頁中位置的參照,相對於特定元素。 |
new | Range | 建立用於從分頁元素建構 Range 物件的建構工具。 |
內容詳盡的說明文件
add Bookmark(position)
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets the tab body and adds a paragraph. const paragraph = documentTab.getBody().appendParagraph('My new paragraph.'); // Creates a position at the first character of the paragraph text. const position = documentTab.newPosition(paragraph.getChild(0), 0); // Adds a bookmark at the first character of the paragraph text. const bookmark = documentTab.addBookmark(position); // Logs the bookmark ID to the console. console.log(bookmark.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
position | Position | 新書籤的位置。 |
回攻員
Bookmark
- 新的書籤。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
add Header()
新增分頁標頭區段 (如未存在)。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Adds a header to the tab. const header = documentTab.addHeader(); // Sets the header text to 'This is a header.' header.setText('This is a header');
回攻員
Header
:分頁標頭。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
add Named Range(name, range)
新增 Named
,這是具有名稱和 ID 的 Range
,可用於日後擷取。名稱不一定是唯一的,即使跨分頁也是如此;同一份文件中的多個範圍可以共用相同的名稱,就像 HTML 中的類別一樣。相較之下,ID 在文件中是唯一的,就像 HTML 中的 ID 一樣。新增 Named
後,您無法修改,只能移除。
任何存取分頁的腳本都能存取 Named
。為避免指令碼之間發生非預期的衝突,建議在範圍名稱前方加上專屬字串。
// Creates a named range that includes every table in a tab by its ID. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); const rangeBuilder = documentTab.newRange(); const tables = documentTab.getBody().getTables(); for (let i = 0; i < tables.length; i++) { rangeBuilder.addElement(tables[i]); } documentTab.addNamedRange('Tab t.0 tables', rangeBuilder.build());
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 範圍名稱 (不必是唯一名稱),範圍名稱長度必須介於 1 至 256 個半形字元之間。 |
range | Range | 要與名稱建立關聯的元素範圍。範圍可以是搜尋結果,也可以使用 new 手動建立。 |
回攻員
Named
:Named
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Body()
擷取分頁的 Body
。
分頁可能包含不同類型的部分 (例如 Header
、Footer
)。分頁的有效部分是 Body
。
Document
中的元素方法會委派至 Body
。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets the tab body. const body = documentTab.getBody(); // Gets the body text and logs it to the console. console.log(body.getText());
回攻員
Body
:分頁的內文區段。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Bookmark(id)
取得具有指定 ID 的 Bookmark
。如果這個分頁中沒有此類 Bookmark
,這個方法會傳回 null
。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets the bookmark by its ID. const bookmark = documentTab.getBookmark('id.xyz654321'); // If the bookmark exists within the tab, logs the character offset of its // position to the console. Otherwise, logs 'No bookmark exists with the given // ID.' to the console. if (bookmark) { console.log(bookmark.getPosition().getOffset()); } else { console.log('No bookmark exists with the given ID.'); }
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | Bookmark 的 ID。 |
回攻員
Bookmark
:具有指定 ID 的 Bookmark
,如果分頁中沒有這樣的 Bookmark
,則為 null
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Bookmarks()
取得分頁中的所有 Bookmark
物件。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets all of the bookmarks in the tab. const bookmarks = documentTab.getBookmarks(); // Logs the number of bookmarks in the tab to the console. console.log(bookmarks.length);
回攻員
Bookmark[]
:分頁中 Bookmark
物件的陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Footnotes()
擷取分頁內文中的所有 Footnote
元素。
對 get
的呼叫會導致對分頁元素進行疊代。對於大型分頁,請避免不必要地呼叫此方法。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets the first footnote. const footnote = documentTab.getFootnotes()[0]; // Logs footnote contents to the console. console.log(footnote.getFootnoteContents().getText());
回攻員
Footnote[]
:分頁的註腳。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Header()
擷取分頁的標頭區段 (如有)。
// Opens the Docs file and retrieves the tab by its IDs. If you created your // script from within a Google Docs file, you can use // DocumentApp.getActiveDocument().getActiveTab() instead. // TODO(developer): Replace the IDs with your own. const documentTab = DocumentApp.openById('123abc').getTab('123abc').asDocumentTab(); // Gets the text of the tab's header and logs it to the console. console.log(documentTab.getHeader().getText());
回攻員
Header
:分頁標頭。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Named Range By Id(id)
取得具有指定 ID 的 Named
。如果分頁中沒有此類 Named
,這個方法會傳回 null
。名稱不一定是唯一的,即使跨分頁也是如此;同一份文件中的多個範圍可能會共用相同的名稱,就像 HTML 中的類別一樣。相較之下,ID 在分頁中是唯一的,就像 HTML 中的 ID 一樣。
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 範圍的 ID,在分頁中為唯一的 ID。 |
回攻員
Named
:具有指定 ID 的 Named
,如果分頁中沒有這類範圍,則為 null
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Named Ranges()
取得分頁中的所有 Named
物件。
任何存取分頁的指令碼都可以存取 Named
。為避免指令碼之間發生非預期的衝突,建議您在範圍名稱前方加上專屬字串。
回攻員
Named
:分頁中 Named
物件的陣列,可能包含多個名稱相同的範圍。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
get Named Ranges(name)
取得指定名稱分頁中的所有 Named
物件。名稱不一定是唯一的,即使跨分頁也是如此;同一份文件中的多個範圍可能會共用相同的名稱,就像 HTML 中的類別一樣。相較之下,ID 在分頁中是唯一的,就像 HTML 中的 ID 一樣。
任何存取分頁的指令碼都可以存取 Named
。為避免指令碼之間發生非預期的衝突,建議您在範圍名稱前方加上專屬字串。
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 範圍名稱,不一定是唯一值。 |
回攻員
Named
:指定名稱分頁中 Named
物件的陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
new Position(element, offset)
建立新的 Position
,這是對分頁中位置的參照,相對於特定元素。使用者游標會以 Position
和其他符號表示。
// Append a paragraph, then place the user's cursor after the first word of the // new paragraph. // TODO(developer): Replace the IDs with your own. const doc = DocumentApp.openById('123abc'); const documentTab = doc.getTab('123abc').asDocumentTab(); const paragraph = documentTab.getBody().appendParagraph('My new paragraph.'); const position = documentTab.newPosition(paragraph.getChild(0), 2); doc.setCursor(position);
參數
名稱 | 類型 | 說明 |
---|---|---|
element | Element | 包含新建 Position 的元素;此元素必須是 Text 元素或 Paragraph 等容器元素。 |
offset | Integer | 對於 Text 元素,是 Position 前半形字元數量;對於其他元素,是同一容器元素中 Position 前子項數量。 |
回攻員
Position
:新的 Position
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents
new Range()
建立用於從分頁元素建構 Range
物件的建構工具。
// Change the user's selection to a range that includes every table in the tab. // TODO(developer): Replace the IDs with your own. const doc = DocumentApp.openById('123abc'); const documentTab = doc.getTab('123abc').asDocumentTab(); const rangeBuilder = documentTab.newRange(); const tables = documentTab.getBody().getTables(); for (let i = 0; i < tables.length; i++) { rangeBuilder.addElement(tables[i]); } doc.setSelection(rangeBuilder.build());
回攻員
Range
:新建構工具。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/documents.currentonly
-
https://www.googleapis.com/auth/documents