स्क्रिप्ट, Google के कुछ प्रॉडक्ट को बेहतर बना सकती हैं. इसके लिए, वे यूज़र इंटरफ़ेस (यूआई) एलिमेंट जोड़ सकती हैं. इन एलिमेंट पर क्लिक करने से, Google Apps Script फ़ंक्शन लागू होता है. इसका सबसे सामान्य उदाहरण, Google Docs, Google Sheets, Google Slides या Google Forms में कस्टम मेन्यू आइटम से स्क्रिप्ट चलाना है. हालांकि, स्क्रिप्ट फ़ंक्शन को Sheets में इमेज और ड्रॉइंग पर क्लिक करके भी ट्रिगर किया जा सकता है.
Docs, Sheets, Slides या Forms में कस्टम मेन्यू

Apps Script की मदद से, Docs, Sheets, Slides या Forms में नए मेन्यू जोड़े जा सकते हैं. हर मेन्यू आइटम, स्क्रिप्ट में मौजूद किसी फ़ंक्शन से जुड़ा होता है. (Forms में, कस्टम मेन्यू सिर्फ़ उस एडिटर को दिखते हैं जो फ़ॉर्म में बदलाव करने के लिए उसे खोलता है. ये उस व्यक्ति को नहीं दिखते जो फ़ॉर्म में जवाब देने के लिए उसे खोलता है.)
सिर्फ़ बाउंड स्क्रिप्ट, मेन्यू बना सकती हैं. जब उपयोगकर्ता कोई फ़ाइल खोले, तब मेन्यू दिखाने के लिए, onOpen फ़ंक्शन में मेन्यू कोड लिखें.
यहां दिए गए उदाहरण में, एक आइटम वाला मेन्यू जोड़ने का तरीका दिखाया गया है. इसके बाद, विज़ुअल सेपरेटर और फिर एक सब-मेन्यू जोड़ा गया है, जिसमें एक और आइटम शामिल है. जब उपयोगकर्ता इनमें से किसी भी मेन्यू आइटम को चुनता है, तो उससे जुड़ा फ़ंक्शन एक सूचना डायलॉग बॉक्स खोलता है. खोली जा सकने वाली अलग-अलग तरह की बातचीत के बारे में ज़्यादा जानने के लिए, डायलॉग और साइडबार के बारे में गाइड देखें.
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!');
}
किसी दस्तावेज़, स्प्रेडशीट, प्रज़ेंटेशन या फ़ॉर्म में, दिए गए नाम वाला सिर्फ़ एक मेन्यू हो सकता है. अगर एक ही स्क्रिप्ट या कोई दूसरी स्क्रिप्ट, एक ही नाम वाला मेन्यू जोड़ती है, तो नया मेन्यू पुराने मेन्यू की जगह ले लेता है. फ़ाइल खुली होने पर मेन्यू नहीं हटाए जा सकते. हालांकि, अगर कोई प्रॉपर्टी सेट की गई है, तो आने वाले समय में मेन्यू को स्किप करने के लिए, onOpen फ़ंक्शन लिखा जा सकता है.
एडिटर ऐड-ऑन में मेन्यू आइटम भी हो सकते हैं. हालांकि, इन्हें तय करने के लिए खास नियमों का इस्तेमाल किया जाता है.
Sheets में क्लिक की जा सकने वाली इमेज और ड्रॉइंग

Apps Script फ़ंक्शन को Sheets में मौजूद किसी इमेज या ड्राइंग को भी असाइन किया जा सकता है. हालांकि, इसके लिए स्क्रिप्ट को स्प्रेडशीट से बाइंड करना ज़रूरी है. इस उदाहरण में, इसे सेट अप करने का तरीका बताया गया है.
- Sheets में, स्प्रेडशीट से जुड़ी स्क्रिप्ट बनाने के लिए, मेन्यू आइटम एक्सटेंशन > Apps Script चुनें.
- स्क्रिप्ट एडिटर में मौजूद कोड मिटाएं और यहां दिया गया कोड चिपकाएं.
function showMessageBox() {
SpreadsheetApp.getUi().alert('You clicked it!');
}
- Sheets पर वापस जाएं और शामिल करें > इमेज या शामिल करें > ड्रॉइंग को चुनकर, कोई इमेज या ड्रॉइंग डालें.
- इमेज या ड्रॉइंग डालने के बाद, उस पर क्लिक करें. सबसे ऊपर दाएं कोने में, छोटा ड्रॉप-डाउन मेन्यू चुनने वाला टूल दिखता है. इस पर क्लिक करें और स्क्रिप्ट असाइन करें चुनें.
- दिखने वाले डायलॉग बॉक्स में, उस Apps Script फ़ंक्शन का नाम टाइप करें जिसे आपको चलाना है. इसके लिए, कोष्ठक का इस्तेमाल न करें. इस मामले में,
showMessageBox. ठीक है पर क्लिक करें. - इमेज या ड्रॉइंग पर फिर से क्लिक करें. अब फ़ंक्शन काम करने लगता है.
स्क्रिप्ट को सिर्फ़ वेब ब्राउज़र में इमेज पर क्लिक करने या ड्रॉ करने पर ट्रिगर किया जाता है. अगर मोबाइल पर इमेज या ड्राइंग पर क्लिक किया जाता है, तो स्क्रिप्ट नहीं चलती.