अगर किसी स्क्रिप्ट को स्टैंडअलोन स्क्रिप्ट के तौर पर बनाने के बजाय, किसी दस्तावेज़ से बनाया गया है, तो वह स्क्रिप्ट Google Sheets, Google Docs, Google Slides या Google Forms की फ़ाइल से जुड़ी होती है. जिस फ़ाइल से कोई स्क्रिप्ट जुड़ी होती है उसे "कंटेनर" कहा जाता है. बाउंड स्क्रिप्ट, आम तौर पर स्टैंडअलोन स्क्रिप्ट की तरह काम करती हैं. हालांकि, ये Google Drive में नहीं दिखती हैं. साथ ही, इन्हें उस फ़ाइल से अलग नहीं किया जा सकता जिससे ये जुड़ी हैं. इसके अलावा, इन्हें पैरंट फ़ाइल पर कुछ खास अधिकार मिलते हैं.
स्क्रिप्ट को Google Sites से भी जोड़ा जा सकता है. हालांकि, इन स्क्रिप्ट को हमेशा वेब ऐप्लिकेशन के तौर पर डिप्लॉय किया जाता है. Sheets, Docs, Slides या Forms से जुड़ी स्क्रिप्ट को भी वेब ऐप्लिकेशन बनाया जा सकता है. हालांकि, ऐसा कम ही होता है.
बाउंड स्क्रिप्ट, Google Workspace ऐड-ऑन होते हैं. ये सिर्फ़ उस फ़ाइल के लिए काम करते हैं जिससे इन्हें बाइंड किया गया है.
बाउंड स्क्रिप्ट बनाना
Docs, Sheets, Slides, और Forms में बाउंड स्क्रिप्ट बनाई जा सकती हैं.
Docs, Sheets या Slides
Docs, Sheets या Slides में बाउंड स्क्रिप्ट बनाने के लिए, Docs में कोई दस्तावेज़, Sheets में कोई स्प्रैडशीट या Slides में कोई प्रज़ेंटेशन खोलें. इसके बाद, एक्सटेंशन > Apps Script पर क्लिक करें. अगर आपको आने वाले समय में स्क्रिप्ट को फिर से खोलना है, तो इसी तरीके का इस्तेमाल करें या Apps Script डैशबोर्ड से स्क्रिप्ट खोलें.
फ़ॉर्म
Forms में बाउंड स्क्रिप्ट बनाने के लिए, कोई फ़ॉर्म खोलें. इसके बाद, ज़्यादा > स्क्रिप्ट एडिटर पर क्लिक करें. स्क्रिप्ट को बाद में फिर से खोलने के लिए, यही तरीका अपनाएं या Apps Script डैशबोर्ड से स्क्रिप्ट खोलें.
clasp टूल, बाउंड स्क्रिप्ट नहीं बना सकता. हालांकि, यह उन्हें क्लोन और उनमें बदलाव कर सकता है.
खास तरीके
बाउंड स्क्रिप्ट, कुछ ऐसे तरीकों को कॉल कर सकती हैं जिन्हें स्टैंडअलोन स्क्रिप्ट कॉल नहीं कर सकतीं:
getActiveSpreadsheet,getActiveDocument,getActivePresentation, औरgetActiveFormकी मदद से, बाउंड स्क्रिप्ट अपनी पैरंट फ़ाइल को रेफ़र कर सकती हैं. इसके लिए, उन्हें फ़ाइल के आईडी को रेफ़र करने की ज़रूरत नहीं होती.getUiकी मदद से, बाउंड स्क्रिप्ट अपनी पैरंट फ़ाइल के यूज़र इंटरफ़ेस को ऐक्सेस कर सकती हैं. इससे वे कस्टम मेन्यू, डायलॉग, और साइडबार जोड़ सकती हैं.- Sheets में,
getActiveSheet,getActiveRange, औरgetActiveCellकी मदद से, स्क्रिप्ट को उपयोगकर्ता की मौजूदा शीट, चुनी गई सेल की रेंज या चुनी गई सेल का पता लगाने की अनुमति दी जाती है.setActiveSheetऔरsetActiveRangeपर क्लिक करें. इससे स्क्रिप्ट को उन विकल्पों में बदलाव करने की अनुमति मिल जाएगी. - Docs में,
getActiveTab,getCursor, औरgetSelectionस्क्रिप्ट को उपयोगकर्ता के मौजूदा टैब, कर्सर की जगह या चुने गए टेक्स्ट का पता लगाने की अनुमति दें.setActiveTab,setCursorऔरsetSelectionको चुनें. इससे स्क्रिप्ट को उन विकल्पों में बदलाव करने की अनुमति मिल जाएगी.
ज़्यादा जानकारी के लिए, Sheets को एक्सटेंड करने की गाइड या Docs को एक्सटेंड करने की गाइड देखें.
ये तरीके सिर्फ़ उन बाउंड स्क्रिप्ट के लिए उपलब्ध हैं जिन्हें स्क्रिप्ट एडिटर, मेन्यू आइटम, डायलॉग, साइडबार या ट्रिगर से चलाया जाता है. जब किसी बाउंड स्क्रिप्ट को वेब ऐप्लिकेशन के तौर पर या Google Apps Script API का इस्तेमाल करके चलाया जाता है, तब ये तरीके उपलब्ध नहीं होते.
कस्टम मेन्यू, डायलॉग, और साइडबार
बाउंड स्क्रिप्ट की मदद से, Sheets, Docs, और Forms को पसंद के मुताबिक बनाया जा सकता है. इसके लिए, कस्टम मेन्यू और डायलॉग बॉक्स या साइडबार जोड़े जा सकते हैं. कोई स्क्रिप्ट, सिर्फ़ खुली हुई फ़ाइल के मौजूदा इंस्टेंस के यूज़र इंटरफ़ेस के साथ इंटरैक्ट कर सकती है. किसी एक दस्तावेज़ से जुड़ी स्क्रिप्ट, दूसरे दस्तावेज़ के यूज़र इंटरफ़ेस पर असर नहीं डाल सकती.
ट्रिगर
बाउंड स्क्रिप्ट, सिंपल ट्रिगर का इस्तेमाल कर सकती हैं. जैसे, खास onOpen फ़ंक्शन. यह फ़ंक्शन, फ़ाइल को ऐसे उपयोगकर्ता के ज़रिए खोले जाने पर अपने-आप चालू हो जाता है जिसके पास फ़ाइल में बदलाव करने का ऐक्सेस होता है. सभी तरह की स्क्रिप्ट की तरह, ये स्क्रिप्ट भी इंस्टॉल किए जा सकने वाले ट्रिगर का इस्तेमाल कर सकती हैं.
पसंद के मुताबिक फ़ंक्शन
कस्टम फ़ंक्शन, Sheets से जुड़ी स्क्रिप्ट में मौजूद एक फ़ंक्शन होता है. इसे सीधे तौर पर किसी सेल से कॉल किया जाता है. इसके लिए, =myFunctionName() सिंटैक्स का इस्तेमाल किया जाता है. कस्टम फ़ंक्शन, Sheets में मौजूद सैकड़ों पहले से मौजूद फ़ंक्शन की तरह होते हैं. जैसे, AVERAGE या SUM. हालांकि, कस्टम फ़ंक्शन के काम करने का तरीका तय करने का विकल्प आपके पास होता है.
बाउंड स्क्रिप्ट का ऐक्सेस
सिर्फ़ वे उपयोगकर्ता, कंटेनर से जुड़ी स्क्रिप्ट चला सकते हैं जिनके पास कंटेनर में बदलाव करने की अनुमति है. जिन सहयोगियों के पास सिर्फ़ देखने का ऐक्सेस होता है वे स्क्रिप्ट एडिटर नहीं खोल सकते. अगर वे कंटेनर फ़ाइल की कॉपी बनाते हैं, तो उनके पास कॉपी का मालिकाना हक आ जाता है. साथ ही, वे स्क्रिप्ट की कॉपी देख और चला सकते हैं.
स्क्रिप्ट की कंटेनर फ़ाइल शेयर करने का तरीका जानने के लिए, Drive से फ़ाइलें शेयर करना लेख पढ़ें.
कंटेनर से जुड़ी सभी स्क्रिप्ट, कंटेनर फ़ाइल के लिए तय की गई मालिक, दर्शक, और संपादक के ऐक्सेस की सूची का इस्तेमाल करती हैं. कंटेनर का मालिक, नए स्क्रिप्ट प्रोजेक्ट का मालिकाना हक ले लेता है. इससे कोई फ़र्क़ नहीं पड़ता कि उसे किसने बनाया है.