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