การขยาย Google เอกสาร

Google Apps Script ช่วยให้คุณสามารถสร้างและแก้ไข Google เอกสารโดยใช้โปรแกรม รวมทั้งปรับแต่งอินเทอร์เฟซผู้ใช้ด้วยเมนู กล่องโต้ตอบ และ แถบด้านข้าง

ข้อมูลพื้นฐาน

สคริปต์ของ Apps สามารถโต้ตอบกับ Google เอกสารได้ 2 แบบด้วยกัน คือ สคริปต์แบบใดก็ได้ สร้างหรือแก้ไขเอกสารหากผู้ใช้ของสคริปต์มีสิทธิ์ที่เหมาะสม เอกสาร และสคริปต์ยังสามารถ bound กับเอกสาร ซึ่งจะให้ สคริปต์ความสามารถพิเศษในการปรับเปลี่ยนอินเทอร์เฟซผู้ใช้หรือตอบสนองเมื่อ เอกสารเปิดอยู่ วิธีสร้างสคริปต์ที่ผูกกับคอนเทนเนอร์จากภายใน Google เอกสาร คลิกส่วนขยาย > Apps Script

ไม่ว่าในกรณีใด คุณสามารถทำงานกับ Google เอกสารได้อย่างง่ายดายผ่านทาง บริการเอกสาร ดังตัวอย่างต่อไปนี้ ที่แสดงให้เห็น

function createDoc() {
  var doc = DocumentApp.create('Sample Document');
  var body = doc.getBody();
  var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']];
  body.insertParagraph(0, doc.getName())
      .setHeading(DocumentApp.ParagraphHeading.HEADING1);
  table = body.appendTable(rowsData);
  table.getRow(0).editAsText().setBold(true);
}

สคริปต์ข้างต้นสร้างเอกสารใหม่ใน Google ไดรฟ์ของผู้ใช้ แล้วแทรก ย่อหน้าที่มีข้อความเดียวกันกับชื่อเอกสาร สไตล์ที่ เป็นส่วนหัว และเพิ่มตารางตามค่าใน อาร์เรย์ 2 มิติ สคริปต์ก็สามารถทำการเปลี่ยนแปลงเหล่านี้ ที่มีอยู่โดยแทนที่การเรียกไปยัง DocumentApp.create() กับ DocumentApp.openById() หรือ openByUrl() สำหรับสคริปต์ที่สร้างขึ้นภายในเอกสาร (ที่ผูกกับคอนเทนเนอร์) ให้ใช้ DocumentApp.getActiveDocument()

โครงสร้างของเอกสาร

จากมุมมองของ Apps Script เอกสารใน Google เอกสารจะมีโครงสร้างคล้ายกับ HTML เอกสาร กล่าวคือ Google เอกสารประกอบด้วยองค์ประกอบต่างๆ (เช่น Paragraph หรือ Table) ที่มักประกอบด้วย จากองค์ประกอบเหล่านี้ สคริปต์ส่วนใหญ่ที่แก้ไขเอกสารใน Google เอกสารจะเริ่มต้นด้วยการเรียก getBody() เนื่องจาก Body เป็นองค์ประกอบหลักที่ มีองค์ประกอบอื่นๆ ทั้งหมดยกเว้น HeaderSection, FooterSection และ Footnotes

อย่างไรก็ตาม มีกฎเกี่ยวกับประเภทขององค์ประกอบที่สามารถมีประเภทอื่นๆ ได้ นอกจากนี้ บริการเอกสารใน Apps Script ยังแทรกได้บางประเภทเท่านั้น จากหลายองค์ประกอบ โครงสร้างด้านล่างแสดงให้เห็นว่า องค์ประกอบใดสามารถอยู่ใน ประเภทขององค์ประกอบ

สามารถแทรกองค์ประกอบที่แสดงเป็นตัวหนาได้ องค์ประกอบที่ไม่ใช่ตัวหนาสามารถใส่ ถูกดัดแปลง

การแทนที่ข้อความ

Apps Script มักจะใช้เพื่อแทนที่ข้อความใน Google เอกสาร สมมติว่าคุณมี ที่เต็มไปด้วยข้อมูลลูกค้า และคุณต้องการสร้าง Google เอกสารสำหรับลูกค้าแต่ละราย (การดำเนินการประเภทนี้มักเรียกว่า อีเมล merge.)

การแทนที่ข้อความทำได้หลายวิธี แต่วิธีที่ง่ายที่สุดคือ replaceText() ที่แสดงในตัวอย่างด้านล่าง replaceText รองรับผู้ใช้ส่วนใหญ่ ของคุณลักษณะนิพจน์ทั่วไปของ JavaScript ฟังก์ชันแรกด้านล่าง เพิ่มข้อความตัวยึดตำแหน่งหลายบรรทัดใน Google เอกสาร ในโลกแห่งความเป็นจริง คุณ มีโอกาสมากกว่าที่จะพิมพ์ตัวยึดตำแหน่งในเอกสารด้วยตนเอง ฟังก์ชันที่สองจะแทนที่ตัวยึดตำแหน่งด้วยคุณสมบัติที่กำหนดไว้ในฟังก์ชัน ออบเจ็กต์ client รายการ

โปรดทราบว่าทั้ง 2 ฟังก์ชันนี้ใช้ getActiveDocument() ซึ่งใช้ได้เฉพาะกับสคริปต์ที่สร้างขึ้นภายในเอกสารใน Google เอกสาร ใน สคริปต์แบบสแตนด์อโลน, ใช้ DocumentApp.create(), openById(), หรือ openByUrl() แทน

เพิ่มตัวยึดตำแหน่ง

function createPlaceholders() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph('{name}');
  body.appendParagraph('{address}');
  body.appendParagraph('{city} {state} {zip}');
}

แทนที่ตัวยึดตำแหน่ง

function searchAndReplace() {
  var body = DocumentApp.getActiveDocument()
      .getBody();
  var client = {
    name: 'Joe Script-Guru',
    address: '100 Script Rd',
    city: 'Scriptville',
    state: 'GA',
    zip: 94043
  };

  body.replaceText('{name}', client.name);
  body.replaceText('{address}', client.address);
  body.replaceText('{city}', client.city);
  body.replaceText('{state}', client.state);
  body.replaceText('{zip}', client.zip);
}

เมนูที่กำหนดเองและอินเทอร์เฟซผู้ใช้

คุณสามารถปรับแต่ง Google เอกสารได้ด้วยการเพิ่มเมนู กล่องโต้ตอบ และ แถบด้านข้าง อย่างไรก็ตาม โปรดทราบว่าสคริปต์สามารถโต้ตอบกับ UI เฉพาะสำหรับ อินสแตนซ์ปัจจุบันของเอกสารที่เปิดอยู่ และเฉพาะเมื่อสคริปต์ bound กับเอกสาร

ดูวิธีเพิ่มเมนูที่กำหนดเอง และ กล่องโต้ตอบ Google เอกสารของคุณ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างอินเทอร์เฟซที่กำหนดเองสำหรับกล่องโต้ตอบหรือแถบด้านข้าง โปรดดู คำแนะนำเกี่ยวกับบริการ HTML หากคุณกำลังวางแผนที่จะเผยแพร่อินเทอร์เฟซที่กำหนดเองเป็นส่วนหนึ่งของ add-on ให้ทำตาม คู่มือแนะนำเพื่อให้สอดคล้องกับ ของเครื่องมือแก้ไข Google เอกสาร

ส่วนเสริมสำหรับ Google เอกสาร

ส่วนเสริมจะทำงานภายใน Google เอกสารและสามารถติดตั้งได้ จากสโตร์ของส่วนเสริม Google เอกสาร หากคุณได้พัฒนาสคริปต์สำหรับ Google เอกสาร และต้องการแชร์กับคนทั้งโลก Apps Script ช่วยให้คุณ เผยแพร่สคริปต์ของคุณเป็น ส่วนเสริมเพื่อให้ผู้ใช้รายอื่นสามารถติดตั้งจากสโตร์ของส่วนเสริมได้

หากต้องการดูวิธีสร้างส่วนเสริมสำหรับ Google เอกสาร โปรดดู การเริ่มต้นอย่างรวดเร็วในการสร้างส่วนเสริมของเอกสาร

ทริกเกอร์

สคริปต์ที่เชื่อมโยงกับ เอกสารใช้ทริกเกอร์แบบง่ายเพื่อตอบกลับได้ กับ onOpen เหตุการณ์ ของเอกสาร ซึ่ง จะเกิดขึ้นเมื่อผู้ใช้ที่มีสิทธิ์แก้ไขเอกสารเปิดเอกสารใน Google เอกสาร

หากต้องการตั้งค่าทริกเกอร์ เพียงเขียนฟังก์ชันที่ชื่อว่า onOpen() ตัวอย่างเช่น ของทริกเกอร์นี้ ให้ดูที่เมนูที่กำหนดเองใน Google Workspace แม้ว่าทริกเกอร์แบบง่ายจะมีประโยชน์สำหรับการเพิ่มเมนู แต่ก็ไม่สามารถใช้ Apps บริการสคริปต์ที่ต้องมีการให้สิทธิ์