Class TableOfContents

สารบัญ

องค์ประกอบที่มีสารบัญ TableOfContents อาจมีองค์ประกอบ ListItem, Paragraph และ Table แม้ว่าโดยปกติแล้ว Google เอกสารจะสร้างเนื้อหาของ TableOfContents โดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างเอกสารได้ในคู่มือการขยาย Google เอกสาร

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
clear()TableOfContentsล้างเนื้อหาขององค์ประกอบ
copy()TableOfContentsแสดงผลสำเนาที่แยกออกและแบบเจาะลึกขององค์ประกอบปัจจุบัน
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ดึงข้อมูล URL ของลิงก์
getNextSibling()Elementดึงข้อมูลองค์ประกอบพี่น้องถัดไปขององค์ประกอบ
getNumChildren()Integerดึงข้อมูลจํานวนเด็ก
getParent()ContainerElementดึงข้อมูลองค์ประกอบหลักขององค์ประกอบ
getPreviousSibling()Elementดึงข้อมูลองค์ประกอบพี่น้องก่อนหน้าขององค์ประกอบ
getText()Stringดึงข้อมูลเนื้อหาขององค์ประกอบเป็นสตริงข้อความ
getTextAlignment()TextAlignmentรับการจัดข้อความ
getType()ElementTypeดึงข้อมูล ElementType ขององค์ประกอบ
isAtDocumentEnd()Booleanระบุว่าองค์ประกอบอยู่ท้าย Document หรือไม่
removeFromParent()TableOfContentsนำองค์ประกอบออกจากองค์ประกอบหลัก
replaceText(searchPattern, replacement)Elementแทนที่รายการทั้งหมดของรูปแบบข้อความหนึ่งๆ ด้วยสตริงการแทนที่หนึ่งๆ โดยใช้นิพจน์ทั่วไป
setAttributes(attributes)TableOfContentsตั้งค่าแอตทริบิวต์ขององค์ประกอบ
setLinkUrl(url)TableOfContentsตั้งค่า URL ของลิงก์
setTextAlignment(textAlignment)TableOfContentsตั้งค่าการจัดข้อความ

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

clear()

ล้างเนื้อหาขององค์ประกอบ

รีเทิร์น

TableOfContents — องค์ประกอบปัจจุบัน


copy()

แสดงผลสำเนาที่แยกออกและแบบเจาะลึกขององค์ประกอบปัจจุบัน

ระบบจะคัดลอกองค์ประกอบย่อยทั้งหมดที่อยู่ในองค์ประกอบนั้นด้วย องค์ประกอบใหม่ไม่มีองค์ประกอบหลัก

รีเทิร์น

TableOfContents — สำเนาใหม่

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

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

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

editAsText()

รับองค์ประกอบปัจจุบันเวอร์ชัน Text เพื่อแก้ไข

ใช้ editAsText เพื่อจัดการเนื้อหาขององค์ประกอบเป็น Rich Text โหมด editAsText ไม่สนใจองค์ประกอบที่ไม่ใช่ข้อความ (เช่น InlineImage และ HorizontalRule)

ระบบจะนำองค์ประกอบย่อยที่อยู่ในช่วงข้อความที่ลบออกทั้งหมดออกจากองค์ประกอบ

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)

ค้นหาเนื้อหาขององค์ประกอบเพื่อหารายการที่สืบทอดมาจากประเภทที่ระบุ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementTypeElementTypeประเภทองค์ประกอบที่จะค้นหา

รีเทิร์น

RangeElement — ผลการค้นหาที่ระบุตําแหน่งขององค์ประกอบการค้นหา

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

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

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

findElement(elementType, from)

ค้นหาเนื้อหาขององค์ประกอบเพื่อหารายการที่สืบทอดของประเภทที่ระบุ โดยเริ่มจาก RangeElement ที่ระบุ

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
elementTypeElementTypeประเภทองค์ประกอบที่จะค้นหา
fromRangeElementผลการค้นหาที่จะค้นหา

รีเทิร์น

RangeElement — ผลการค้นหาที่ระบุตำแหน่งถัดไปขององค์ประกอบการค้นหา

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

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

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

findText(searchPattern)

ค้นหาเนื้อหาขององค์ประกอบเพื่อหารูปแบบข้อความที่ระบุโดยใช้นิพจน์ทั่วไป

ระบบไม่รองรับฟีเจอร์นิพจน์ทั่วไปของ JavaScript บางรายการ เช่น กลุ่มที่จับและตัวแก้ไขโหมด

ระบบจะจับคู่รูปแบบนิพจน์ทั่วไปที่ระบุกับบล็อกข้อความแต่ละรายการในองค์ประกอบปัจจุบันแยกกัน

พารามิเตอร์

ชื่อประเภทคำอธิบาย
searchPatternStringรูปแบบที่จะค้นหา

รีเทิร์น

RangeElement — ผลการค้นหาที่ระบุตําแหน่งของข้อความค้นหา หรือเป็นค่าว่างหากไม่พบการจับคู่

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

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

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

findText(searchPattern, from)

ค้นหาเนื้อหาขององค์ประกอบเพื่อหารูปแบบข้อความที่ระบุ โดยเริ่มจากผลการค้นหาหนึ่งๆ

ระบบไม่รองรับฟีเจอร์นิพจน์ทั่วไปของ JavaScript บางรายการ เช่น กลุ่มที่จับและตัวแก้ไขโหมด

ระบบจะจับคู่รูปแบบนิพจน์ทั่วไปที่ระบุกับบล็อกข้อความแต่ละรายการในองค์ประกอบปัจจุบันแยกกัน

พารามิเตอร์

ชื่อประเภทคำอธิบาย
searchPatternStringรูปแบบที่จะค้นหา
fromRangeElementผลการค้นหาที่จะค้นหา

รีเทิร์น

RangeElement — ผลการค้นหาที่ระบุตําแหน่งถัดไปของข้อความค้นหา หรือเป็นค่าว่างหากไม่พบการจับคู่

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

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

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

getAttributes()

ดึงข้อมูลแอตทริบิวต์ขององค์ประกอบ

ผลลัพธ์ที่ได้คือออบเจ็กต์ที่มีพร็อพเพอร์ตี้สำหรับแอตทริบิวต์องค์ประกอบที่ถูกต้องแต่ละรายการ โดยที่ชื่อพร็อพเพอร์ตี้แต่ละรายการสอดคล้องกับรายการในการแจกแจง DocumentApp.Attribute

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 — แอตทริบิวต์ขององค์ประกอบ

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

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

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
childIndexIntegerดัชนีขององค์ประกอบย่อยที่จะดึงข้อมูล

รีเทิร์น

Element — องค์ประกอบย่อยที่อยู่ที่อินเด็กซ์ที่ระบุ

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

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

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

getChildIndex(child)

ดึงข้อมูลดัชนีย่อยสําหรับองค์ประกอบย่อยที่ระบุ

พารามิเตอร์

ชื่อประเภทคำอธิบาย
childElementองค์ประกอบย่อยที่จะดึงข้อมูลดัชนี

รีเทิร์น

Integer — ดัชนีย่อย

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

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

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

getLinkUrl()

ดึงข้อมูล URL ของลิงก์

รีเทิร์น

String — URL ของลิงก์ หรือเป็นค่าว่างหากองค์ประกอบมีค่าหลายค่าสำหรับแอตทริบิวต์นี้

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

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

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

getNextSibling()

ดึงข้อมูลองค์ประกอบพี่น้องถัดไปขององค์ประกอบ

องค์ประกอบถัดไปมีองค์ประกอบหลักเดียวกันและอยู่หลังองค์ประกอบปัจจุบัน

รีเทิร์น

Element — องค์ประกอบระดับถัดไป

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

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

  • 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 — จำนวนเด็ก

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

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

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

getParent()

ดึงข้อมูลองค์ประกอบหลักขององค์ประกอบ

องค์ประกอบหลักมีองค์ประกอบปัจจุบัน

รีเทิร์น

ContainerElement — องค์ประกอบหลัก

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

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

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

getPreviousSibling()

ดึงข้อมูลองค์ประกอบพี่น้องก่อนหน้าขององค์ประกอบ

องค์ประกอบระดับข้างเคียงก่อนหน้ามีองค์ประกอบหลักเดียวกันและอยู่ก่อนองค์ประกอบปัจจุบัน

รีเทิร์น

Element — องค์ประกอบระดับข้างเคียงก่อนหน้า

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

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

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

getText()

ดึงข้อมูลเนื้อหาขององค์ประกอบเป็นสตริงข้อความ

รีเทิร์น

String — เนื้อหาขององค์ประกอบเป็นสตริงข้อความ

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

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

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

getTextAlignment()

รับการจัดข้อความ ประเภทการจัดแนวที่ใช้ได้มี DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT และ DocumentApp.TextAlignment.SUPERSCRIPT

รีเทิร์น

TextAlignment — ประเภทการจัดแนวข้อความ หรือ null หากข้อความมีการจัดแนวข้อความหลายประเภท หรือหากไม่เคยตั้งค่าการจัดแนวข้อความ

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

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

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

getType()

ดึงข้อมูล ElementType ขององค์ประกอบ

ใช้ getType() เพื่อระบุประเภทที่แน่นอนขององค์ประกอบหนึ่งๆ

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

รีเทิร์น

ElementType — ประเภทองค์ประกอบ

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

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

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

isAtDocumentEnd()

ระบุว่าองค์ประกอบอยู่ท้าย Document หรือไม่

รีเทิร์น

Boolean — องค์ประกอบอยู่ที่ส่วนท้ายของแท็บหรือไม่

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

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

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

removeFromParent()

นำองค์ประกอบออกจากองค์ประกอบหลัก

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Remove all images in the active tab's body.
const imgs = body.getImages();
for (let i = 0; i < imgs.length; i++) {
  imgs[i].removeFromParent();
}

รีเทิร์น

TableOfContents — องค์ประกอบที่ถูกนำออก

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

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

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

replaceText(searchPattern, replacement)

แทนที่รายการทั้งหมดของรูปแบบข้อความหนึ่งๆ ด้วยสตริงการแทนที่หนึ่งๆ โดยใช้นิพจน์ทั่วไป

ระบบจะส่งรูปแบบการค้นหาเป็นสตริง ไม่ใช่ออบเจ็กต์นิพจน์ทั่วไปของ JavaScript คุณจึงต้องยกเว้นเครื่องหมายแบ็กสแลชในนิพจน์

วิธีนี้ใช้ไลบรารีนิพจน์ทั่วไป RE2 ของ Google ซึ่งจํากัดไวยากรณ์ที่รองรับ

ระบบจะจับคู่รูปแบบนิพจน์ทั่วไปที่ระบุกับบล็อกข้อความแต่ละรายการในองค์ประกอบปัจจุบันแยกกัน

const 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 — องค์ประกอบปัจจุบัน

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

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

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

setAttributes(attributes)

ตั้งค่าแอตทริบิวต์ขององค์ประกอบ

พารามิเตอร์แอตทริบิวต์ที่ระบุต้องเป็นออบเจ็กต์ที่ชื่อพร็อพเพอร์ตี้แต่ละรายการเป็นรายการในลิสต์DocumentApp.Attribute และค่าพร็อพเพอร์ตี้แต่ละรายการเป็นค่าใหม่ที่จะใช้

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
attributesObjectแอตทริบิวต์ขององค์ประกอบ

รีเทิร์น

TableOfContents — องค์ประกอบปัจจุบัน

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

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

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

setLinkUrl(url)

ตั้งค่า URL ของลิงก์

พารามิเตอร์

ชื่อประเภทคำอธิบาย
urlStringURL ของลิงก์

รีเทิร์น

TableOfContents — องค์ประกอบปัจจุบัน

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

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

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

setTextAlignment(textAlignment)

ตั้งค่าการจัดข้อความ ประเภทการจัดแนวที่ใช้ได้มี DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT และ DocumentApp.TextAlignment.SUPERSCRIPT

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textAlignmentTextAlignmentประเภทการจัดแนวข้อความที่จะใช้

รีเทิร์น

TableOfContents — องค์ประกอบปัจจุบัน

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

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

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