Class DocumentTab

เอกสารแท็บ

แท็บเอกสารที่มีข้อความและองค์ประกอบแบบริชมีเดีย เช่น ตารางและรายการ

เรียกข้อมูลแท็บเอกสารโดยใช้ 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();

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addBookmark(position)Bookmarkเพิ่ม Bookmark ที่ Position ที่ระบุ
addFooter()FooterSectionเพิ่มส่วนท้ายแท็บ หากยังไม่มี
addHeader()HeaderSectionเพิ่มส่วนหัวของแท็บ หากยังไม่มี
addNamedRange(name, range)NamedRangeเพิ่ม NamedRange ซึ่งเป็น Range ที่มีชื่อและรหัสเพื่อใช้เรียกข้อมูลในภายหลัง
getBody()Bodyดึงข้อมูล Body ของแท็บ
getBookmark(id)Bookmarkรับ Bookmark ที่มีรหัสที่ระบุ
getBookmarks()Bookmark[]รับออบเจ็กต์ Bookmark ทั้งหมดในแท็บ
getFooter()FooterSectionเรียกข้อมูลส่วนท้ายของแท็บ หากมี
getFootnotes()Footnote[]ดึงข้อมูลองค์ประกอบ Footnote ทั้งหมดในเนื้อหาของแท็บ
getHeader()HeaderSectionดึงข้อมูลส่วนหัวของแท็บ หากมี
getNamedRangeById(id)NamedRangeรับ NamedRange ที่มีรหัสที่ระบุ
getNamedRanges()NamedRange[]รับออบเจ็กต์ NamedRange ทั้งหมดในแท็บ
getNamedRanges(name)NamedRange[]รับออบเจ็กต์ NamedRange ทั้งหมดในแท็บที่มีชื่อที่ระบุ
newPosition(element, offset)Positionสร้าง Position ใหม่ ซึ่งเป็นการอ้างอิงตำแหน่งในแท็บซึ่งสัมพันธ์กับองค์ประกอบที่เฉพาะเจาะจง
newRange()RangeBuilderสร้างเครื่องมือสร้างที่ใช้สร้างออบเจ็กต์ Range จากองค์ประกอบแท็บ

เอกสารประกอบโดยละเอียด

addBookmark(position)

เพิ่ม 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());

พารามิเตอร์

ชื่อประเภทคำอธิบาย
positionPositionตำแหน่งของบุ๊กมาร์กใหม่

รีเทิร์น

Bookmark — บุ๊กมาร์กใหม่

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addFooter()

เพิ่มส่วนท้ายแท็บ หากยังไม่มี

// 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 footer to the tab.
const footer = documentTab.addFooter();

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

รีเทิร์น

FooterSection — ส่วนท้ายแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addHeader()

เพิ่มส่วนหัวของแท็บ หากไม่มี

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

รีเทิร์น

HeaderSection — ส่วนหัวของแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addNamedRange(name, range)

เพิ่ม NamedRange ซึ่งเป็น Range ที่มีชื่อและรหัสเพื่อใช้เรียกข้อมูลในภายหลัง ชื่อไม่จำเป็นต้องไม่ซ้ำกัน แม้แต่ในแท็บต่างๆ ช่วงต่างๆ หลายช่วงในเอกสารเดียวกันก็ใช้ชื่อเดียวกันได้ คล้ายกับคลาสใน HTML ในทางตรงกันข้าม รหัสจะมีลักษณะเฉพาะภายในเอกสาร เช่น รหัสใน HTML หลังจากเพิ่ม NamedRange แล้ว คุณจะแก้ไขไม่ได้ ทำได้เพียงนำออกเท่านั้น

สคริปต์ใดก็ตามที่เข้าถึงแท็บจะเข้าถึง NamedRange ได้ ลองนำสตริงที่ไม่ซ้ำกันไว้หน้าชื่อช่วงเพื่อหลีกเลี่ยงความขัดแย้งที่ไม่ตั้งใจระหว่างสคริปต์

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
nameStringชื่อของช่วง ซึ่งไม่จำเป็นต้องไม่ซ้ำกัน ชื่อช่วงต้องมีความยาวระหว่าง 1-256 อักขระ
rangeRangeช่วงขององค์ประกอบที่จะเชื่อมโยงกับชื่อ โดยช่วงอาจเป็นผลการค้นหาหรือสร้างด้วย newRange() ด้วยตนเอง

รีเทิร์น

NamedRangeNamedRange

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getBody()

ดึงข้อมูล Body ของแท็บ

แท็บอาจมีส่วนต่างๆ ประเภทต่างๆ (เช่น HeaderSection, FooterSection) ส่วนที่มีการใช้งานสําหรับแท็บคือ Body

เมธอดขององค์ประกอบใน DocumentTab จะมอบสิทธิ์ให้ 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 — ส่วนเนื้อหาของแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getBookmark(id)

รับ Bookmark ที่มีรหัสที่ระบุ เมธอดนี้จะแสดงผล null หากไม่มี 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 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.');
}

พารามิเตอร์

ชื่อประเภทคำอธิบาย
idStringรหัสของ Bookmark

รีเทิร์น

BookmarkBookmark ที่มีรหัสที่ระบุ หรือ null หากไม่มีBookmarkดังกล่าวในแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getBookmarks()

รับออบเจ็กต์ 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 ในแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getFooter()

เรียกข้อมูลส่วนท้ายของแท็บ หากมี

// 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 footer and logs it to the console.
console.log(documentTab.getFooter().getText());

รีเทิร์น

FooterSection — ส่วนท้ายของแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getFootnotes()

ดึงข้อมูลองค์ประกอบ Footnote ทั้งหมดในเนื้อหาของแท็บ

การเรียกใช้ getFootnotes จะทําให้เกิดการทำซ้ำองค์ประกอบของแท็บ สำหรับแท็บขนาดใหญ่ ให้หลีกเลี่ยงการเรียกใช้เมธอดนี้โดยไม่จำเป็น

// 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[] — เชิงอรรถของแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getHeader()

ดึงข้อมูลส่วนหัวของแท็บ หากมี

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

รีเทิร์น

HeaderSection — ส่วนหัวของแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getNamedRangeById(id)

รับ NamedRange ที่มีรหัสที่ระบุ เมธอดนี้จะแสดงผล null หากไม่มี NamedRange ดังกล่าวในแท็บ ชื่อไม่จำเป็นต้องไม่ซ้ำกัน แม้แต่ในแท็บต่างๆ ก็ตาม หลายช่วงในเอกสารเดียวกันอาจมีชื่อเดียวกันได้ คล้ายกับคลาสใน HTML ในทางตรงกันข้าม รหัสจะซ้ำกันไม่ได้ภายในแท็บ เช่น รหัสใน HTML

พารามิเตอร์

ชื่อประเภทคำอธิบาย
idStringรหัสของช่วง ซึ่งไม่ซ้ำกันภายในแท็บ

รีเทิร์น

NamedRangeNamedRange ที่มีรหัสที่ระบุ หรือ null หากไม่มีช่วงดังกล่าวในแท็บ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getNamedRanges()

รับออบเจ็กต์ NamedRange ทั้งหมดในแท็บ

NamedRange สามารถเข้าถึงได้โดยสคริปต์ใดก็ตามที่เข้าถึงแท็บ หากต้องการหลีกเลี่ยงข้อขัดแย้งที่ไม่ตั้งใจระหว่างสคริปต์ ให้พิจารณาใส่สตริงที่ไม่ซ้ำกันไว้หน้าชื่อช่วง

รีเทิร์น

NamedRange[] — อาร์เรย์ของออบเจ็กต์ NamedRange ในแท็บ ซึ่งอาจรวมถึงช่วงหลายรายการที่มีชื่อเดียวกัน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getNamedRanges(name)

รับออบเจ็กต์ NamedRange ทั้งหมดในแท็บที่มีชื่อที่ระบุ ชื่อไม่จำเป็นต้องไม่ซ้ำกัน แม้แต่ในแท็บต่างๆ ช่วงต่างๆ หลายช่วงในเอกสารเดียวกันอาจมีชื่อเดียวกันได้ คล้ายกับคลาสใน HTML ในทางตรงกันข้าม รหัสจะซ้ำกันไม่ได้ภายในแท็บ เช่น รหัสใน HTML

NamedRange สามารถเข้าถึงได้โดยสคริปต์ใดก็ตามที่เข้าถึงแท็บ หากต้องการหลีกเลี่ยงข้อขัดแย้งที่ไม่ตั้งใจระหว่างสคริปต์ ให้พิจารณาใส่สตริงที่ไม่ซ้ำกันไว้หน้าชื่อช่วง

พารามิเตอร์

ชื่อประเภทคำอธิบาย
nameStringชื่อของช่วง ซึ่งไม่จำเป็นต้องไม่ซ้ำกัน

รีเทิร์น

NamedRange[] — อาร์เรย์ของออบเจ็กต์ NamedRange ในแท็บที่มีชื่อที่ระบุ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementElementองค์ประกอบที่มี Position to ที่สร้างขึ้นใหม่ ซึ่งต้องเป็นองค์ประกอบ Text หรือองค์ประกอบคอนเทนเนอร์ เช่น Paragraph
offsetIntegerสําหรับองค์ประกอบ Text คือจํานวนของอักขระก่อน Position สําหรับองค์ประกอบอื่นๆ คือจํานวนองค์ประกอบย่อยก่อน Position ภายในองค์ประกอบคอนเทนเนอร์เดียวกัน

รีเทิร์น

PositionPosition เวอร์ชันใหม่

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

newRange()

สร้างเครื่องมือสร้างที่ใช้สร้างออบเจ็กต์ 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());

รีเทิร์น

RangeBuilder — ตัวสร้างใหม่

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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