สคริปต์สามารถขยายผลิตภัณฑ์บางอย่างของ Google โดยการเพิ่มองค์ประกอบอินเทอร์เฟซผู้ใช้ ซึ่งจะเรียกใช้ฟังก์ชันของ Apps Script เมื่อคลิก ตัวอย่างที่พบบ่อยที่สุดคือการเรียกใช้สคริปต์จากรายการเมนูที่กำหนดเองใน Google เอกสาร ชีต สไลด์ หรือฟอร์ม แต่คุณก็เรียกใช้ฟังก์ชันสคริปต์ได้โดยคลิกรูปภาพและภาพวาดใน Google ชีตได้เช่นกัน
เมนูที่กำหนดเองใน Google เอกสาร ชีต สไลด์ หรือฟอร์ม
Apps Script สามารถเพิ่มเมนูใหม่ใน Google เอกสาร, ชีต, สไลด์ หรือฟอร์ม โดยแต่ละรายการในเมนูจะผูกกับฟังก์ชันในสคริปต์ (ใน Google ฟอร์ม เมนูที่กำหนดเองจะแสดงให้เอดิเตอร์ที่เปิดแบบฟอร์มเพื่อแก้ไขเท่านั้น ส่วนผู้ใช้ที่เปิดแบบฟอร์มเพื่อตอบจะมองไม่เห็น)
สคริปต์จะสร้างเมนูได้ต่อเมื่อเชื่อมโยงกับเอกสาร สเปรดชีต หรือแบบฟอร์มเท่านั้น
หากต้องการแสดงเมนูเมื่อผู้ใช้เปิดไฟล์ ให้เขียนโค้ดเมนูภายในฟังก์ชัน onOpen()
ตัวอย่างด้านล่างแสดงวิธีเพิ่มเมนูที่มี 1 รายการ ตามด้วยตัวคั่นที่เป็นภาพ และเมนูย่อยที่มีรายการอื่น (โปรดทราบว่าใน Google ชีต คุณจะต้องใช้ไวยากรณ์ addMenu()
แทน หากใช้เมนูย่อย เว้นแต่คุณจะใช้เวอร์ชันใหม่) เมื่อผู้ใช้เลือกรายการในเมนู ฟังก์ชันที่เกี่ยวข้องจะเปิดกล่องโต้ตอบการแจ้งเตือน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทของกล่องโต้ตอบที่คุณสามารถเปิดได้ โปรดดูคำแนะนำเกี่ยวกับกล่องโต้ตอบและแถบด้านข้าง
function onOpen() {
var 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!');
}
เอกสาร สเปรดชีต งานนำเสนอ หรือแบบฟอร์มจะมีได้เพียงเมนูเดียวที่มีชื่อหนึ่งๆ หากสคริปต์เดียวกันหรือสคริปต์อื่นเพิ่มเมนูที่มีชื่อเดียวกัน เมนูใหม่จะแทนที่เวอร์ชันเก่า ไม่สามารถนำเมนูออกขณะที่ไฟล์เปิดอยู่ แต่คุณจะเขียนฟังก์ชัน onOpen()
เพื่อข้ามเมนูในอนาคตได้หากตั้งค่าพร็อพเพอร์ตี้บางรายการไว้
รูปภาพและภาพวาดที่คลิกได้ใน Google ชีต
นอกจากนี้ คุณยังกำหนดฟังก์ชัน Apps Script ให้กับรูปภาพหรือภาพวาดใน Google ชีตได้ ตราบใดที่สคริปต์มีการเชื่อมโยงกับสเปรดชีต ตัวอย่างด้านล่างแสดงวิธีการตั้งค่า
- ใน Google ชีต ให้เลือกรายการเมนู ส่วนขยาย > Apps Script เพื่อสร้างสคริปต์ที่ผูกกับสเปรดชีต
ลบโค้ดใดๆ ในโปรแกรมแก้ไขสคริปต์ แล้ววางโค้ดด้านล่าง
function showMessageBox() { Browser.msgBox('You clicked it!'); }
กลับไปที่ชีตและแทรกรูปภาพหรือภาพวาดโดยเลือกแทรก > รูปภาพ หรือแทรก > ภาพวาด
หลังจากแทรกรูปภาพหรือภาพวาดแล้ว ให้คลิกที่รูปภาพหรือภาพวาด ตัวเลือกเมนูแบบเลื่อนลงเล็กๆ จะปรากฏขึ้นที่มุมบนขวา ให้คลิกเพื่อเลือก มอบหมายสคริปต์
ในกล่องโต้ตอบที่ปรากฏขึ้น ให้พิมพ์ชื่อฟังก์ชัน Apps Script ที่ต้องการเรียกใช้โดยไม่มีวงเล็บ ซึ่งในกรณีนี้คือ
showMessageBox
คลิก OKคลิกรูปภาพหรือภาพวาดอีกครั้ง ตอนนี้ฟังก์ชันจะทำงาน