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

Apps Script สามารถเพิ่มเมนูใหม่ในเอกสาร ชีต สไลด์ หรือฟอร์มได้ โดยแต่ละรายการในเมนูจะเชื่อมโยงกับฟังก์ชันในสคริปต์ (ในฟอร์ม เมนูที่กำหนดเองจะแสดงเฉพาะต่อเอดิเตอร์ที่เปิดแบบฟอร์มเพื่อแก้ไขเท่านั้น ไม่แสดงต่อผู้ใช้ที่เปิดแบบฟอร์มเพื่อตอบ)
มีเพียงสคริปต์ที่เชื่อมโยงเท่านั้นที่สร้างเมนูได้ หากต้องการแสดงเมนูเมื่อผู้ใช้เปิดไฟล์ ให้เขียนโค้ดเมนูภายในฟังก์ชัน
onOpen
ตัวอย่างต่อไปนี้แสดงวิธีเพิ่มเมนู ที่มี 1 รายการ ตามด้วย ตัวคั่นภาพ แล้วจึงเป็นเมนูย่อยที่มี อีกรายการ เมื่อผู้ใช้เลือกรายการเมนูใดรายการหนึ่ง ฟังก์ชันที่เกี่ยวข้องจะเปิดกล่องโต้ตอบการแจ้งเตือน ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทกล่องโต้ตอบที่คุณเปิดได้ที่คำแนะนำเกี่ยวกับกล่องโต้ตอบและแถบด้านข้าง
function onOpen() {
const ui = SpreadsheetApp.getUi();
// Or DocumentApp, SlidesApp 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, SlidesApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the second menu item!');
}
เอกสาร สเปรดชีต งานนำเสนอ หรือแบบฟอร์มจะมีเมนูที่มีชื่อที่กำหนดได้เพียง 1 รายการ หากสคริปต์เดียวกันหรือสคริปต์อื่นเพิ่มเมนูที่มีชื่อเดียวกัน เมนูใหม่จะแทนที่เมนูเก่า คุณนำเมนูออกไม่ได้ในขณะที่ไฟล์เปิดอยู่ แต่คุณสามารถเขียนฟังก์ชัน onOpen เพื่อข้ามเมนูในอนาคตได้หากตั้งค่าพร็อพเพอร์ตี้บางอย่างไว้
ส่วนเสริมของเอดิเตอร์ ก็มีรายการในเมนูได้เช่นกัน แต่ใช้กฎพิเศษสำหรับวิธี กำหนดรายการเหล่านั้น
รูปภาพและภาพวาดที่คลิกได้ในชีต

นอกจากนี้ คุณยังกำหนดฟังก์ชัน Apps Script ให้กับรูปภาพหรือ ภาพวาดในชีตได้ด้วย หากสคริปต์เชื่อมโยงกับ สเปรดชีต ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่า
- ในชีต ให้เลือกรายการเมนูส่วนขยาย > Apps Script เพื่อ สร้างสคริปต์ที่เชื่อมโยงกับสเปรดชีต
- ลบโค้ดในตัวแก้ไขสคริปต์ แล้ววางโค้ดด้านล่าง
function showMessageBox() {
SpreadsheetApp.getUi().alert('You clicked it!');
}
- กลับไปที่ชีตแล้วแทรกรูปภาพหรือภาพวาดโดยเลือกแทรก > รูปภาพ หรือแทรก > ภาพวาด
- หลังจากแทรกรูปภาพหรือภาพวาดแล้ว ให้คลิกรูปภาพหรือภาพวาดนั้น ตัวเลือกเมนูแบบเลื่อนลงขนาดเล็ก จะปรากฏที่มุมขวาบน คลิกปุ่มดังกล่าว แล้วเลือกกำหนดสคริปต์
- ในกล่องโต้ตอบที่ปรากฏขึ้น ให้พิมพ์ชื่อฟังก์ชัน Apps Script
ที่ต้องการเรียกใช้โดยไม่ต้องใส่วงเล็บ ในกรณีนี้คือ
showMessageBoxคลิกตกลง - คลิกรูปภาพหรือภาพวาดอีกครั้ง ตอนนี้ฟังก์ชันจะทำงาน
การเรียกใช้สคริปต์จะเกิดขึ้นเมื่อคลิกรูปภาพหรือวาดในเว็บเบราว์เซอร์เท่านั้น สคริปต์จะไม่ทำงานหากมีการคลิกรูปภาพหรือภาพวาดบนอุปกรณ์เคลื่อนที่