เมนูที่กําหนดเองใน Google Workspace

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

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

เมนูที่กําหนดเองใน Google เอกสาร ชีต สไลด์ หรือฟอร์ม

สคริปต์ Apps สามารถเพิ่มเมนูใหม่ใน Google เอกสาร ชีต สไลด์ หรือฟอร์ม โดยแต่ละรายการเมนูจะผูกกับฟังก์ชันในสคริปต์ (ใน Google ฟอร์ม เมนูที่กําหนดเองจะปรากฏเฉพาะกับผู้แก้ไขที่เปิดแบบฟอร์มเพื่อแก้ไขแบบฟอร์มเท่านั้น ไม่ใช่ผู้ใช้ที่เปิดแบบฟอร์มเพื่อตอบกลับ)

สคริปต์จะสร้างเมนูได้ก็ต่อเมื่อเชื่อมโยงกับเอกสาร สเปรดชีต หรือแบบฟอร์มเท่านั้น หากต้องการแสดงเมนูเมื่อผู้ใช้เปิดไฟล์ ให้เขียนรหัสเมนูภายในฟังก์ชัน onOpen()

ตัวอย่างด้านล่างแสดงวิธีเพิ่มเมนูที่มี 1 รายการ ตามด้วยตัวคั่นด้วยภาพ และเมนูย่อยที่มีรายการอื่น (โปรดทราบว่าใน Google ชีต ยกเว้นกรณีที่คุณใช้ เวอร์ชันใหม่ คุณจะต้องใช้ไวยากรณ์ addMenu() แทน และไปที่เมนูย่อยไม่ได้) เมื่อผู้ใช้เลือกรายการในเมนู ฟังก์ชันที่เกี่ยวข้องจะเปิดกล่องโต้ตอบการแจ้งเตือน สําหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทของกล่องโต้ตอบที่คุณเปิดได้ โปรดดูคู่มือสําหรับกล่องโต้ตอบและแถบด้านข้าง

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
     .alert('You clicked the second menu item!');
}

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

รูปภาพและภาพวาดที่คลิกได้ใน Google ชีต

นอกจากนี้คุณยังกําหนดฟังก์ชัน Apps Script ให้กับรูปภาพหรือภาพวาดใน Google ชีตได้ ตราบใดที่สคริปต์เชื่อมโยงกับสเปรดชีต ตัวอย่างด้านล่างแสดงวิธีตั้งค่า

  1. ใน Google ชีต ให้เลือกรายการส่วนขยาย > Apps Script เพื่อสร้างสคริปต์ที่เชื่อมโยงกับสเปรดชีต
  2. ลบโค้ดในโปรแกรมแก้ไขสคริปต์และวางในโค้ดด้านล่าง
    function showMessageBox() {
    Browser.msgBox('You clicked it!');
    }
  3. กลับไปที่ชีตและแทรกรูปภาพหรือภาพวาดโดยเลือก แทรก > รูปภาพ หรือแทรก > ภาพวาด
  4. หลังจากแทรกรูปภาพหรือภาพวาด ให้คลิกรูปภาพที่ต้องการ ตัวเลือกเมนูแบบเลื่อนลงเล็กๆ จะปรากฏที่มุมขวาบน คลิกสคริปต์และเลือกกําหนดสคริปต์
  5. ในกล่องโต้ตอบที่ปรากฏ ให้พิมพ์ชื่อฟังก์ชัน Apps Script ที่ต้องการเรียกใช้โดยไม่มีวงเล็บ ซึ่งในกรณีนี้คือ showMessageBox คลิกตกลง
  6. คลิกรูปภาพหรือภาพวาดอีกครั้ง ฟังก์ชันนี้จะทํางาน

นอกจากนี้ คุณยังสามารถกําหนดฟังก์ชัน Apps Script ให้กับลิงก์ใน Google Sites ได้ ตราบใดที่สคริปต์เชื่อมโยงกับเว็บไซต์ ตัวอย่างด้านล่างแสดงวิธีตั้งค่า

  1. ในเว็บไซต์จาก Google Sites ให้คลิก More > Manage site (จัดการเว็บไซต์)
  2. ในแถบด้านข้าง ให้คลิก Apps Scripts แล้วคลิกเพิ่มสคริปต์ใหม่เพื่อสร้างสคริปต์ที่เชื่อมโยงกับเว็บไซต์
  3. ลบโค้ดในโปรแกรมแก้ไขสคริปต์และวางในโค้ดด้านล่าง ซึ่งจะส่งอีเมลเมื่อผู้ใช้คลิกลิงก์
    function sitesLink() {
    var recipient = Session.getActiveUser().getEmail();
    GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
    }
  4. กลับไปที่เว็บไซต์จาก Google Sites แล้วแก้ไขหน้าเว็บ พิมพ์ป้ายกํากับที่จะกลายเป็นลิงก์ เช่น Click me แล้วเน้นสีข้อความแล้วเลือก แทรกลิงก์
  5. ในกล่องโต้ตอบที่ปรากฏ ให้คลิก Apps Script แล้วคลิกฟังก์ชัน sitesLink ที่คุณเพิ่งสร้าง คลิกตกลง
  6. คลิกบันทึกที่ด้านบนของหน้า
  7. คลิกลิงก์ที่เพิ่มลงในหน้าเว็บ
  8. กล่องโต้ตอบจะปรากฏขึ้นและบอกว่าสคริปต์ต้องได้รับสิทธิ์ คลิกตกลง กล่องโต้ตอบที่ 2 จะขอสิทธิ์สําหรับบริการบางอย่างของ Google อ่านประกาศอย่างละเอียด แล้วคลิกอนุญาต จากนั้นคลิกปิด
  9. เมื่อสคริปต์ได้รับอนุญาตแล้ว ให้คลิกลิงก์ที่คุณเพิ่มลงในหน้าเว็บอีกครั้ง ฟังก์ชันนี้จะทํางาน ตรวจสอบอีเมลเพื่อดูอีเมลที่คุณส่งด้วยตัวเอง