Class Document

文件

文件,內含一或多個 Tab 物件,每個物件都含有 RTF 格式和 元素,例如表格和清單。

文件可以使用 DocumentApp開啟或建立。

// Open a document by ID.
var doc = DocumentApp.openById("<my-id>");

// Create and open a document.
doc = DocumentApp.create("Document Title");

可用來直接存取及修改文字內容的 Document 類別方法 使用中的分頁 (在指令碼中「繫結」至 特定文件) 或第一個分頁 (如果無法使用有效的分頁)。指令碼依賴 這些方法 (例如 getBody()) 都能改用 依序為 getTabs()Tab.asDocumentTab()

方法

方法傳回類型簡短說明
addBookmark(position)BookmarkBookmark 新增至第一個標籤Position至第一個標籤,針對 文件「繫結」至文件、使用中的分頁。
addEditor(emailAddress)Document將特定使用者新增至 Document 的編輯者清單。
addEditor(user)Document將特定使用者新增至 Document 的編輯者清單。
addEditors(emailAddresses)Document將指定的使用者陣列新增至 Document 的編輯者清單。
addFooter()FooterSection將頁尾區段 (如果有的話) 新增至第一個分頁;針對由文件「綁定」文件的指令碼,使用中的分頁新增。
addHeader()HeaderSection將標頭區段 (如果有的話) 新增至第一個分頁;針對由「綁定」文件的指令碼 (使用中的分頁) 新增標頭區段。
addNamedRange(name, range)NamedRange新增 NamedRange,這是一個有名稱和 ID 的 Range 之後在第一個分頁中擷取;如果是與文件「繫結」至文件的指令碼,則擷取使用中的分頁。
addViewer(emailAddress)Document將特定使用者新增至 Document 的檢視者清單。
addViewer(user)Document將特定使用者新增至 Document 的檢視者清單。
addViewers(emailAddresses)Document將指定的使用者陣列新增至 Document 的檢視者清單。
getActiveTab()Tab在文件中取得使用者目前有效的 Tab
getAs(contentType)Blob擷取目前的 Document 內容,做為指定類型的 blob。
getBlob()Blob將目前的 Document 內容擷取為 blob。
getBody()Body擷取第一個分頁的 Body;如果指令碼「繫結」至文件,則擷取使用中分頁的 DocumentBodySection
getBookmark(id)Bookmark從第一個分頁中取得含指定 ID 的 Bookmark;如為綁定文件的指令碼,則為使用中的分頁。
getBookmarks()Bookmark[]取得第一個分頁中的所有 Bookmark 物件;對於與文件「繫結」至文件的指令碼,則取得使用中的分頁。
getCursor()Position在使用中分頁中取得使用者的遊標。
getEditors()User[]取得這個 Document 的編輯者清單。
getFooter()FooterSection擷取第一個分頁的頁尾區段,或者如果指令碼「綁定」至文件,則擷取使用中分頁的頁尾 專區。
getFootnotes()Footnote[]擷取第一個分頁主體中的所有 Footnote 元素;如果指令碼「繫結」至文件,則擷取使用中分頁的主體。
getHeader()HeaderSection擷取第一個分頁的標頭區段,或者如果指令碼「繫結」至文件,則擷取使用中分頁的標頭 專區。
getId()String擷取文件的專屬 ID。
getLanguage()String取得文件的語言代碼。
getName()String擷取文件標題。
getNamedRangeById(id)NamedRange從第一個分頁中取得含指定 ID 的 NamedRange;如為綁定文件的指令碼,則為使用中的分頁。
getNamedRanges()NamedRange[]取得第一個分頁中的所有 NamedRange 物件;對於與文件「繫結」至文件的指令碼,則取得使用中的分頁。
getNamedRanges(name)NamedRange[]取得第一個分頁中具有指定名稱的所有 NamedRange 物件,或針對含有該名稱的指令碼 已「繫結」至文件,也就是使用中的分頁。
getSelection()Range在使用中分頁中取得使用者的選項。
getSupportedLanguageCodes()String[]取得 Google 文件檔案支援的所有語言代碼。
getTab(tabId)Tab取得具有指定 ID 的 Tab
getTabs()Tab[]取得文件中的所有未巢狀 Tab
getUrl()String擷取網址以存取目前的文件。
getViewers()User[]取得這個Document的檢視者和加註者名單。
newPosition(element, offset)Position建立新的 Position,其參照分頁中位置的參照 (相對於 特定元素 (如果是與文件「繫結」的指令碼),則使用中的分頁。
newRange()RangeBuilder建立可透過以下標籤元素建構 Range 物件的建構工具: 第一個分頁,如果是繫結至 文件、使用中的分頁。
removeEditor(emailAddress)Document將特定使用者從 Document 的編輯者清單中移除。
removeEditor(user)Document將特定使用者從 Document 的編輯者清單中移除。
removeViewer(emailAddress)Document將特定使用者從 Document 的檢視者和加註者清單中移除。
removeViewer(user)Document將特定使用者從 Document 的檢視者和加註者清單中移除。
saveAndClose()void儲存目前的 Document
setActiveTab(tabId)void使用者在目前文件中選取的 Tab 設為具有指定 ID 的分頁。
setCursor(position)Document設定 Position 做為使用者的遊標。
setLanguage(languageCode)Document設定文件的語言代碼。
setName(name)Document設定文件標題。
setSelection(range)Document根據 Range,在使用中分頁中設定使用者的選項。

內容詳盡的說明文件

addBookmark(position)

Bookmark 新增至第一個標籤Position至第一個標籤,針對 文件「繫結」至文件、使用中的分頁。如要新增 加入書籤至任何分頁,請使用 DocumentTab.addBookmark(position) 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the active or first tab's body and adds a paragraph.
const paragraph = doc.getBody().appendParagraph('My new paragraph.');

// Creates a position at the first character of the paragraph text.
const position = doc.newPosition(paragraph.getChild(0), 0);

// Adds a bookmark at the first character of the paragraph text.
const bookmark = doc.addBookmark(position);

// Logs the bookmark ID to the console.
console.log(bookmark.getId());

}

參數

名稱類型說明
positionPosition新書籤的位置。

回攻員

Bookmark:新的書籤。

授權

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

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

addEditor(emailAddress)

將特定使用者新增至 Document 的編輯者清單。如果使用者已 觀眾也會成為觀眾,因此能在觀影迷清單中向他們宣傳。

參數

名稱類型說明
emailAddressString要新增的使用者電子郵件地址。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

addEditor(user)

將特定使用者新增至 Document 的編輯者清單。如果使用者已 觀眾也會成為觀眾,因此能在觀影迷清單中向他們宣傳。

參數

名稱類型說明
userUser代表要新增的使用者。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

addEditors(emailAddresses)

將指定的使用者陣列新增至 Document 的編輯者清單。如果有任何 觀看清單中的使用者,這種做法是將他們 觀眾。

參數

名稱類型說明
emailAddressesString[]要新增的使用者電子郵件地址陣列。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

addFooter()

將頁尾區段 (如果有的話) 新增至第一個分頁;針對由文件「綁定」文件的指令碼,使用中的分頁新增。如何新增頁尾 區段至任何分頁,請使用 DocumentTab.addFooter() 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Adds a footer to the document's active or first tab.
const footer = doc.addFooter();

// Sets the footer text to 'This is a footer.'
footer.setText('This is a footer');

回攻員

FooterSection:分頁頁尾。

授權

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

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

addHeader()

將標頭區段 (如果有的話) 新增至第一個分頁;針對由「綁定」文件的指令碼 (使用中的分頁) 新增標頭區段。如何新增頁首 區段至任何分頁,請使用 DocumentTab.addHeader() 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Adds a header to the document's active or first tab.
const header = doc.addHeader();

// Sets the header text to 'This is a header.'
header.setText('This is a header');

回攻員

HeaderSection:分頁標頭。

授權

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

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

addNamedRange(name, range)

新增 NamedRange,這是一個有名稱和 ID 的 Range 之後在第一個分頁中擷取;如果是與文件「繫結」至文件的指令碼,則擷取使用中的分頁。如要在任何分頁中新增 NamedRange,請使用 DocumentTab.addNamedRange(name, range) 方法。不是名稱 不得重複;同一個文件中,多個不同的範圍可以共用相同的名稱 就像 HTML 中的類別一樣相反地,文件內的 ID 並不會重複,就像 HTML 中的 ID 一樣。 在文件中新增 NamedRange 後,就無法修改,只能移除。

任何可存取文件的指令碼都能存取 NamedRange。避免無意間 請考慮使用不重複的字串,在範圍名稱前面加上專屬字串。

// Creates a named range that includes every table in the active tab.
var doc = DocumentApp.getActiveDocument();
var rangeBuilder = doc.newRange();
var tables = doc.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
// Adds the named range to the document's active tab.
doc.addNamedRange('Document tables', rangeBuilder.build());

參數

名稱類型說明
nameString範圍名稱 (可以重複)。範圍名稱必須為 長度介於 1 到 256 個字元之間。
rangeRange要與名稱建立關聯的元素範圍;範圍可以是使用中的選取項目搜尋結果,也可以使用 newRange() 手動建立。

回攻員

NamedRange - NamedRange

授權

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

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

addViewer(emailAddress)

將特定使用者新增至 Document 的檢視者清單。如果使用者已 在編輯器清單上,這個方法不會有任何作用。

參數

名稱類型說明
emailAddressString要新增的使用者電子郵件地址。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

addViewer(user)

將特定使用者新增至 Document 的檢視者清單。如果使用者已 在編輯器清單上,這個方法不會有任何作用。

參數

名稱類型說明
userUser代表要新增的使用者。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

addViewers(emailAddresses)

將指定的使用者陣列新增至 Document 的檢視者清單。如果有任何 使用者已在編輯者清單中,這個方法對他們沒有作用。

參數

名稱類型說明
emailAddressesString[]要新增的使用者電子郵件地址陣列。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

getActiveTab()

在文件中取得使用者目前有效的 Tab。指令碼只能存取 執行指令碼的使用者使用中的分頁,且只有在指令碼已繫結至文件的情況下才能使用。

// Display a dialog box that shows the title of the tab that the
// user is currently viewing.
const tab = DocumentApp.getActiveDocument().getActiveTab();
DocumentApp.getUi().alert('ID of selected tab: ' + tab.getTitle());

回攻員

Tab:使用者目前啟用的 Tab;如果指令碼未繫結,則為 null 文件。

授權

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

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

getAs(contentType)

擷取目前的 Document 內容,做為指定類型的 blob。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the document as a PDF.
const pdf = doc.getAs('application/pdf');

// Logs the name of the PDF to the console.
console.log(pdf.getName());

參數

名稱類型說明
contentTypeString要轉換為哪種 MIME 類型;系統支援 'application/pdf''text/markdown'

回攻員

Blob:目前做為 blob 的文件。


getBlob()

將目前的 Document 內容擷取為 blob。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Retrieves the current document's contents as a blob and logs it to the console.
console.log(doc.getBlob().getContentType());

回攻員

Blob:目前做為 blob 的文件。


getBody()

擷取第一個分頁的 Body;如果指令碼「繫結」至文件,則擷取使用中分頁的 DocumentBodySection。如要取得任何分頁的 DocumentBodySection,請使用 DocumentTab.getBody() 方法。

分頁可以包含不同類型的版面 (例如 HeaderSectionFooterSection)。分頁的有效部分是 Body

Document 中的元素方法會委派給使用中的 Body

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the active or first tab's body.
const body = doc.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

getBookmark(id)

從第一個分頁中取得含指定 ID 的 Bookmark;如為綁定文件的指令碼,則為使用中的分頁。若要取得 任何分頁中的書籤,請使用 DocumentTab.getBookmark(id) 方法。如果分頁中沒有這類 Bookmark,這個方法會傳回 null

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the bookmark by its ID in the document's active or first tab.
const bookmark = doc.getBookmark('id.xyz654321');

// If the bookmark exists, 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.');
}

參數

名稱類型說明
idStringBookmark 的 ID。

回攻員

Bookmark — 具有指定 ID 的 Bookmark,如果不能,則nullBookmark 存在於分頁中

授權

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

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

getBookmarks()

取得第一個分頁中的所有 Bookmark 物件;對於與文件「繫結」至文件的指令碼,則取得使用中的分頁。取得全部 任何分頁中的書籤,請使用 DocumentTab.getBookmarks() 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets all of the bookmarks in the document's active or first tab.
const bookmarks = doc.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

getCursor()

在使用中分頁中取得使用者的遊標。指令碼只能存取 才能執行指令碼,且只有在指令碼已「繫結」與文件的情況下。

// Insert some text at the cursor position and make it bold.
var cursor = DocumentApp.getActiveDocument().getCursor();
if (cursor) {
  // Attempt to insert text at the cursor position. If the insertion returns null, the cursor's
  // containing element doesn't allow insertions, so show the user an error message.
  var element = cursor.insertText('ಠ‿ಠ');
  if (element) {
    element.setBold(true);
  } else {
    DocumentApp.getUi().alert('Cannot insert text here.');
  }
} else {
  DocumentApp.getUi().alert('Cannot find a cursor.');
}

回攻員

Position — 以使用者的遊標表示法;如果使用者沒有遊標,則為 null ,或是指令碼未與文件繫結。

授權

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

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

getEditors()

取得這個 Document 的編輯者清單。

回攻員

User[]:具備編輯權限的使用者陣列。

授權

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

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

getFooter()

擷取第一個分頁的頁尾區段,或者如果指令碼「綁定」至文件,則擷取使用中分頁的頁尾 專區。如要取得任何分頁的頁尾區段,請使用 DocumentTab.getFooter() 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the text of the active or first tab's footer and logs it to the console.
console.log(doc.getFooter().getText());

回攻員

FooterSection:分頁的頁尾。

授權

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

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

getFootnotes()

擷取第一個分頁主體中的所有 Footnote 元素;如果指令碼「繫結」至文件,則擷取使用中分頁的主體。若要取得 任一分頁中的所有註腳,請使用 DocumentTab.getFootnotes() 方法。

呼叫 getFootnotes 會疊代分頁元素。如果是大型分頁 避免對這個方法發出不必要的呼叫。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the first footnote in the active or first tab's body.
const footnote = doc.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

getHeader()

擷取第一個分頁的標頭區段,或者如果指令碼「繫結」至文件,則擷取使用中分頁的標頭 專區。如要取得任何分頁的標頭區段,請使用 DocumentTab.getHeader() 方法。

// Opens the Docs file by its ID. If you created your script from within
// a Google Docs file, you can use DocumentApp.getActiveDocument() instead.
// TODO(developer): Replace the ID with your own.
const doc = DocumentApp.openById(DOCUMENT_ID);

// Gets the text of the active or first tab's header and logs it to the console.
console.log(doc.getHeader().getText());

回攻員

HeaderSection:分頁的標頭。

授權

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

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

getId()

擷取文件的專屬 ID。文件 ID 會用於 DocumentApp.openById(),以開啟特定的文件執行個體。

回攻員

String:文件的 ID。

授權

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

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

getLanguage()

取得文件的語言代碼。這是文件編輯器的「檔案」中顯示的語言。 &gt;語言,這可能不是文件包含的實際語言。

回攻員

String:文件語言,如未定義,則為 null

授權

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

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

getName()

擷取文件標題。

回攻員

String:文件標題。

授權

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

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

getNamedRangeById(id)

從第一個分頁中取得含指定 ID 的 NamedRange;如為綁定文件的指令碼,則為使用中的分頁。若要取得 在任何分頁中具有指定 ID 的 NamedRange,使用 DocumentTab.getNamedRangeById(id) 方法。如果分頁中沒有這類 NamedRange,這個方法會傳回 null。名稱 有時候會重複,即使在不同的分頁中也是如此同一個分頁中可能有數個不同的範圍 使用相同的名稱,就如同 HTML 中的類別。分頁中的 ID 不得重複 例如 HTML 中的 ID

參數

名稱類型說明
idString範圍 ID (分頁中為專屬 ID)。

回攻員

NamedRange:具有指定 ID 的 NamedRange;如果沒有這個範圍,則傳回 null 標籤。

授權

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

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

getNamedRanges()

取得第一個分頁中的所有 NamedRange 物件;對於與文件「繫結」至文件的指令碼,則取得使用中的分頁。取得全部 任何分頁中的 NamedRange 物件,請使用 DocumentTab.getNamedRanges() 方法。

存取分頁的任何指令碼都可以存取 NamedRange。為了避免 指令碼之間意外發生衝突,建議您使用不重複的字串為範圍名稱命名。

回攻員

NamedRange[]:分頁中的 NamedRange 物件陣列,可能包含多個 名稱相同的範圍

授權

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

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

getNamedRanges(name)

取得第一個分頁中具有指定名稱的所有 NamedRange 物件,或針對含有該名稱的指令碼 已「繫結」至文件,也就是使用中的分頁。若要取得 任一分頁中的所有 NamedRange 物件,請使用 DocumentTab.getNamedRanges(name) 方法。名稱不一定會重複,即使是不同分頁中也是如此;這個網路中的 同一個分頁可能會共用相同的名稱,就跟 HTML 中的類別很類似。相反地, 例如 HTML 中的 ID

可存取文件的任何指令碼都能存取 NamedRange。為了避免 指令碼之間意外發生衝突,建議您使用不重複的字串為範圍名稱命名。

參數

名稱類型說明
nameString範圍名稱 (不一定是唯一值)。

回攻員

NamedRange[] — 分頁標籤中具有特定名稱的 NamedRange 物件陣列。

授權

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

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

getSelection()

在使用中分頁中取得使用者的選項。指令碼只能存取使用者選取的項目 執行指令碼的對象,以及只有當指令碼繫結至文件時。

// Display a dialog box that tells the user how many elements are included in the selection.
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
  var elements = selection.getRangeElements();
  DocumentApp.getUi().alert('Number of selected elements: ' + elements.length);
} else {
  DocumentApp.getUi().alert('Nothing is selected.');
}

回攻員

Range — 表示使用者選擇的表示法;如果沒有,則為 null 只選取段落結尾 (若僅選取段落結尾) 時,即為分頁中選取的項目 系統會選取段落及換行,或如果指令碼未與文件繫結,

授權

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

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

getSupportedLanguageCodes()

取得 Google 文件檔案支援的所有語言代碼。

回攻員

String[]:語言代碼陣列。

授權

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

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

getTab(tabId)

取得具有指定 ID 的 Tab。如果沒有這種 Tab,這個方法會傳回 null。可以存取任何巢狀層級的分頁。

參數

名稱類型說明
tabIdString要取得的分頁 ID。

回攻員

Tab:具有指定 ID 的 Tab;如果不存在這類 Tab,則為 null

授權

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

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

getTabs()

取得文件中的所有未巢狀 Tab

分頁可以包含子分頁,也就是位於另一個分頁中的分頁。兒童分頁可供使用 使用 Tab.getChildTabs()

回攻員

Tab[]:屬於文件的所有 Tab 清單。

授權

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

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

getUrl()

擷取網址以存取目前的文件。

var doc = DocumentApp.getActiveDocument();

// Send out the link to open the document.
MailApp.sendEmail("<email-address>", doc.getName(), doc.getUrl());

回攻員

String:存取目前文件的網址。

授權

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

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

getViewers()

取得這個Document的檢視者和加註者名單。

回攻員

User[]:擁有檢視或註解權限的使用者陣列。

授權

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

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

newPosition(element, offset)

建立新的 Position,其參照分頁中位置的參照 (相對於 特定元素 (如果是與文件「繫結」的指令碼),則使用中的分頁。如要建立 Position (相對於任何分頁中的位置),請使用 DocumentTab.newPosition(element, offset) 方法。使用者的遊標以 Position 表示和其他用途。

// Append a paragraph to the active tab, then place the user's cursor after the first word of
// the new paragraph.
var doc = DocumentApp.getActiveDocument();
var paragraph = doc.getBody().appendParagraph('My new paragraph.');
var position = doc.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

參數

名稱類型說明
elementElement元素應包含新的 Position;這必須是 Text 元素或 Paragraph 等容器元素。
offsetInteger如果是 Text 元素,則 Position 前方的字元數; 如果是其他元素,則事件中 Position 之前的子元素數量 相同容器元素

回攻員

Position:新的 Position

授權

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

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

newRange()

建立可透過以下標籤元素建構 Range 物件的建構工具: 第一個分頁,如果是繫結至 文件、使用中的分頁。建立用於建構 DocumentRange 物件的建構工具 從任何分頁中的分頁標籤元素中,使用 DocumentTab.newRange() 方法。

// Change the user's selection to a range that includes every table in the active tab.
var doc = DocumentApp.getActiveDocument();
var rangeBuilder = doc.newRange();
var tables = doc.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

回攻員

RangeBuilder:新的建構工具。

授權

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

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

removeEditor(emailAddress)

將特定使用者從 Document 的編輯者清單中移除。這個方法 如果使用者所屬的類別含有以下使用者類別,則禁止使用者存取 Document 一般存取權,例如 Document 已與整個使用者共用 網域,或是 Document 位於使用者可以存取的共用雲端硬碟中。

針對雲端硬碟檔案,這麼做也會將使用者從檢視者清單中移除。

參數

名稱類型說明
emailAddressString要移除的使用者電子郵件地址。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

removeEditor(user)

將特定使用者從 Document 的編輯者清單中移除。這個方法 如果使用者所屬的類別含有以下使用者類別,則禁止使用者存取 Document 一般存取權,例如 Document 已與整個使用者共用 網域,或是 Document 位於使用者可以存取的共用雲端硬碟中。

針對雲端硬碟檔案,這麼做也會將使用者從檢視者清單中移除。

參數

名稱類型說明
userUser要移除的使用者表示法。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

removeViewer(emailAddress)

將特定使用者從 Document 的檢視者和加註者清單中移除。這個 如果使用者是編輯者,而不是檢視者或加註者,此方法不會生效。這個方法 無法禁止隸屬於特定類別的使用者存取 Document 但具備一般存取權,例如將 Document 與使用者的 或是使用者可以存取的共用雲端硬碟中,就刪除 Document

針對雲端硬碟檔案,這麼做也會將使用者從編輯者清單中移除。

參數

名稱類型說明
emailAddressString要移除的使用者電子郵件地址。

回攻員

Document:這個 Document 用於鏈結。

授權

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

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

removeViewer(user)

將特定使用者從 Document 的檢視者和加註者清單中移除。這個 如果使用者是編輯者,而不是檢視者,此方法不會有任何作用。這個方法也不會 如果使用者屬於一般使用者的類別,就無法存取 Document 存取權,例如 Document 已與整個網域共用 如果 Document 位於使用者有權存取的共用雲端硬碟中。

針對雲端硬碟檔案,這麼做也會將使用者從編輯者清單中移除。

參數

名稱類型說明
userUser要移除的使用者表示法。

回攻員

Document:這個 Document 用於鏈結。

授權

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

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

saveAndClose()

儲存目前的 Document。導致系統清除及套用待處理的更新。

指令碼執行結束時,會自動叫用 saveAndClose() 方法 。Document

無法編輯已關閉的Document。使用DocumentApp.openById()重新開啟 所選文件。

授權

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

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

setActiveTab(tabId)

使用者在目前文件中選取的 Tab 設為具有指定 ID 的分頁。

const doc = DocumentApp.getActiveDocument()

// Sets the user's selected tab by its ID.
// TODO(developer): Replace the ID with your own.
const tab = doc.setActiveTab(TAB_ID);

參數

名稱類型說明
tabIdString設為有效分頁的 ID。

授權

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

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

setCursor(position)

設定 Position 做為使用者的遊標。指令碼只能存取 執行指令碼,且僅限指令碼已繫結至文件的使用者。

透過停用中的 Tab 提供 Position 會切換使用者使用中的分頁。

var doc = DocumentApp.getActiveDocument();
var documentTab = doc.getActiveTab().asDocumentTab();

// Append a paragraph, then place the user's cursor after the first word of the new paragraph.
var paragraph = documentTab.getBody().appendParagraph('My new paragraph.');
var position = documentTab.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

參數

名稱類型說明
positionPosition新的遊標位置。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

setLanguage(languageCode)

設定文件的語言代碼。這是文件編輯器的「檔案」中顯示的語言。 &gt;語言,這可能不是文件包含的實際語言。使用 getSupportedLanguageCodes() 取得所有有效的語言代碼。

參數

名稱類型說明
languageCodeString語言代碼。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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

setName(name)

設定文件標題。

參數

名稱類型說明
nameString新文件標題。

回攻員

Document:目前的文件。

授權

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

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

setSelection(range)

根據 Range,在使用中分頁中設定使用者的選項。指令碼只能 存取執行指令碼的使用者選項,且只在指令碼繫結至文件時。

var doc = DocumentApp.getActiveDocument();
var documentTab = doc.getActiveTab().asDocumentTab();

// Change the user's selection to a range that includes every table in the document.
var rangeBuilder = documentTab.newRange();
var tables = documentTab.getBody().getTables();
for (var i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

參數

名稱類型說明
rangeRange可選取的新元素範圍。

回攻員

Document - 這個 Document 用於鏈結。

授權

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

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