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

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

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

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

หรือฟอร์ม

Apps Script จะเพิ่มเมนูใหม่ใน 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 ให้คลิก เพิ่มเติม > จัดการเว็บไซต์
  2. ในแถบด้านข้าง ให้คลิก Apps Script แล้วคลิกเพิ่มสคริปต์ใหม่เพื่อสร้างสคริปต์ที่เชื่อมโยงกับเว็บไซต์
  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. เมื่อสคริปต์ได้รับอนุญาตแล้ว ให้คลิกลิงก์ที่คุณเพิ่มลงในหน้าเว็บอีกครั้ง จากนั้นฟังก์ชันจะเริ่มทํางาน ตรวจสอบอีเมลเพื่อดูอีเมลที่คุณส่งด้วยตัวเอง