Google Sheets में, मैक्रो रिकॉर्ड करने की सुविधा मिलती है. इनकी मदद से, यूज़र इंटरफ़ेस (यूआई) के इंटरैक्शन की किसी खास सीरीज़ को डुप्लीकेट किया जा सकता है. मैक्रो रिकॉर्ड करने के बाद, उसे कीबोर्ड शॉर्टकट से लिंक किया जा सकता है. इसके लिए, Ctrl+Alt+Shift+Number
फ़ॉर्म का इस्तेमाल करें. उस शॉर्टकट का इस्तेमाल करके, मैक्रो के चरणों को फिर से तुरंत पूरा किया जा सकता है. आम तौर पर, ऐसा किसी दूसरी जगह या दूसरे डेटा पर किया जाता है.
मैक्रो को Google Sheets के एक्सटेंशन
> मैक्रो मेन्यू से भी चालू किया जा सकता है.
मैक्रो रिकॉर्ड करने पर, Google Sheets अपने-आप एक Apps Script फ़ंक्शन (मैक्रो फ़ंक्शन) बना लेता है. यह फ़ंक्शन, मैक्रो के चरणों को दोहराता है. मैक्रो फ़ंक्शन को, शीट से जुड़े Apps Script प्रोजेक्ट में जोड़ा जाता है. यह फ़ाइल macros.gs
नाम से सेव होती है. अगर उस नाम की कोई प्रोजेक्ट फ़ाइल पहले से ही शीट से जुड़ी हुई है, तो मैक्रो फ़ंक्शन को उसमें जोड़ दिया जाता है. Google Sheets, स्क्रिप्ट प्रोजेक्ट के मेनिफ़ेस्ट को भी अपने-आप अपडेट करता है. इसमें मैक्रो को असाइन किया गया नाम और कीबोर्ड शॉर्टकट रिकॉर्ड होता है.
रिकॉर्ड किए गए हर मैक्रो को पूरी तरह से Apps Script में तय किया जाता है. इसलिए, उन्हें सीधे Apps Script एडिटर में जाकर बदला जा सकता है. Apps Script में, मैक्रो को शुरू से लिखा जा सकता है. इसके अलावा, पहले से लिखे गए फ़ंक्शन को मैक्रो में बदला जा सकता है.
Apps Script में मैक्रो बनाना
Apps Script में लिखे गए फ़ंक्शन को मैक्रो फ़ंक्शन के तौर पर इस्तेमाल किया जा सकता है. इसके लिए, Google Sheets के एडिटर से किसी मौजूदा फ़ंक्शन को इंपोर्ट करें.
इसके अलावा, Apps Script एडिटर में जाकर भी मैक्रो बनाए जा सकते हैं. इसके लिए, यह तरीका अपनाएं:
- Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > Apps Script चुनें. इससे, Apps Script एडिटर में शीट से जुड़ी स्क्रिप्ट खुल जाएगी.
- मैक्रो फ़ंक्शन लिखें. मैक्रो फ़ंक्शन में कोई तर्क नहीं होना चाहिए और न ही कोई वैल्यू दिखनी चाहिए.
- मैक्रो बनाने और उसे मैक्रो फ़ंक्शन से लिंक करने के लिए, स्क्रिप्ट मेनिफ़ेस्ट में बदलाव करें. इसे एक यूनीक कीबोर्ड शॉर्टकट और नाम असाइन करें.
- स्क्रिप्ट प्रोजेक्ट सेव करें. इसके बाद, मैक्रो का इस्तेमाल शीट में किया जा सकता है.
- शीट में मैक्रो फ़ंक्शन को टेस्ट करें, ताकि यह पुष्टि की जा सके कि यह आपकी उम्मीद के मुताबिक काम कर रहा है.
मैक्रो में बदलाव करना
किसी शीट से जुड़े मैक्रो में बदलाव करने के लिए, यह तरीका अपनाएं:
- Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > मैक्रो > मैक्रो मैनेज करें को चुनें.
- वह मैक्रो ढूंढें जिसमें आपको बदलाव करना है. इसके बाद, > मैक्रो में बदलाव करें को चुनें. इससे Apps Script एडिटर खुलता है. इसमें मैक्रो फ़ंक्शन वाली प्रोजेक्ट फ़ाइल होती है.
- मैक्रो के काम करने के तरीके में बदलाव करने के लिए, मैक्रो फ़ंक्शन में बदलाव करें.
- स्क्रिप्ट प्रोजेक्ट सेव करें. इसके बाद, मैक्रो का इस्तेमाल शीट में किया जा सकता है.
- शीट में मैक्रो फ़ंक्शन को टेस्ट करें, ताकि यह पुष्टि की जा सके कि यह आपकी उम्मीद के मुताबिक काम कर रहा है.
फ़ंक्शन को मैक्रो के तौर पर इंपोर्ट करना
अगर किसी शीट से पहले से ही कोई स्क्रिप्ट बाइंड है, तो स्क्रिप्ट में मौजूद किसी फ़ंक्शन को नए मैक्रो के तौर पर इंपोर्ट किया जा सकता है. इसके बाद, उसे कीबोर्ड शॉर्टकट असाइन किया जा सकता है. इसके लिए, मेनिफ़ेस्ट में बदलाव करें और sheets.macros[]
प्रॉपर्टी में कोई दूसरा एलिमेंट जोड़ें.
इसके अलावा, Sheets के यूज़र इंटरफ़ेस (यूआई) से किसी फ़ंक्शन को मैक्रो के तौर पर इंपोर्ट करने के लिए, यह तरीका अपनाएं:
- Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > मैक्रो > इंपोर्ट करें को चुनें.
- दिखाई गई सूची से कोई फ़ंक्शन चुनें. इसके बाद, फ़ंक्शन जोड़ें पर क्लिक करें.
- डायलॉग बॉक्स बंद करने के लिए, को चुनें.
- एक्सटेंशन > मैक्रो > मैक्रो मैनेज करें को चुनें.
- सूची में, अभी-अभी इंपोर्ट किया गया फ़ंक्शन ढूंढें. मैक्रो को कोई यूनीक कीबोर्ड शॉर्टकट असाइन करें. यहां मैक्रो का नाम भी बदला जा सकता है. नाम डिफ़ॉल्ट रूप से फ़ंक्शन का नाम होता है.
- मैक्रो कॉन्फ़िगरेशन सेव करने के लिए, अपडेट करें पर क्लिक करें.
मैक्रो के लिए मेनिफ़ेस्ट स्ट्रक्चर
मेनिफ़ेस्ट फ़ाइल के उदाहरण वाले इस स्निपेट में, मेनिफ़ेस्ट का वह सेक्शन दिखाया गया है जिसमें Google Sheets के मैक्रो तय किए जाते हैं.
मेनिफ़ेस्ट के sheets
सेक्शन में, मैक्रो को असाइन किया गया नाम और कीबोर्ड शॉर्टकट तय किया जाता है. साथ ही, मैक्रो फ़ंक्शन का नाम भी तय किया जाता है.
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
Sheets मैक्रो मेनिफ़ेस्ट बनाने के तरीके के बारे में ज़्यादा जानने के लिए, Sheets मैक्रो मेनिफ़ेस्ट संसाधन देखें.
सबसे सही तरीके
Apps Script में मैक्रो बनाते या मैनेज करते समय, हमारा सुझाव है कि आप इन दिशा-निर्देशों का पालन करें.
- मैक्रो का साइज़ जितना कम होगा, वे उतना ही बेहतर तरीके से काम करेंगे. जहां तक हो सके, मैक्रो की कार्रवाइयों की संख्या को सीमित करें.
- मैक्रो, उन कार्रवाइयों के लिए सबसे सही होते हैं जिन्हें बार-बार दोहराना पड़ता है. साथ ही, जिन्हें कॉन्फ़िगर करने की ज़रूरत नहीं होती या बहुत कम कॉन्फ़िगरेशन की ज़रूरत होती है. अन्य कार्रवाइयों के लिए, कस्टम मेन्यू आइटम का इस्तेमाल करें.
- हमेशा याद रखें कि मैक्रो के कीबोर्ड शॉर्टकट यूनीक होने चाहिए. साथ ही, किसी भी समय पर किसी शीट में सिर्फ़ दस मैक्रो के शॉर्टकट हो सकते हैं. किसी भी अन्य मैक्रो को सिर्फ़ एक्सटेंशन > मैक्रो मेन्यू से चलाया जा सकता है.
- किसी एक सेल में बदलाव करने वाले मैक्रो को कई सेल पर लागू किया जा सकता है. इसके लिए, पहले पूरी रेंज चुनें और फिर मैक्रो चालू करें. इसका मतलब है कि अक्सर उन मैक्रो को बनाने की ज़रूरत नहीं होती जो पहले से तय की गई सेल की रेंज में एक ही ऑपरेशन को डुप्लीकेट करते हैं.
क्या-क्या नहीं किया जा सकता
मैक्रो के साथ कुछ पाबंदियां लागू होती हैं:
बाउंड स्क्रिप्ट के बाहर मैक्रो इस्तेमाल करना
मैक्रो, किसी खास Google Sheets से जुड़ी स्क्रिप्ट में तय किए जाते हैं. अगर मैक्रो की परिभाषाएं स्टैंडअलोन स्क्रिप्ट या वेब ऐप्लिकेशन में तय की जाती हैं, तो उन्हें अनदेखा कर दिया जाता है.
Sheets ऐड-ऑन में मैक्रो तय करना
Sheets ऐड-ऑन का इस्तेमाल करके, मैक्रो की परिभाषाएं डिस्ट्रिब्यूट नहीं की जा सकतीं. Sheets ऐड-ऑन प्रोजेक्ट में मौजूद किसी भी मैक्रो की परिभाषा को ऐड-ऑन इस्तेमाल करने वाले लोग अनदेखा कर देते हैं.
स्क्रिप्ट लाइब्रेरी में मैक्रो डिस्ट्रिब्यूट करना
Apps Script की लाइब्रेरी का इस्तेमाल करके, मैक्रो की परिभाषाएं डिस्ट्रिब्यूट नहीं की जा सकतीं.
Google Sheets के बाहर मैक्रो का इस्तेमाल करना
मैक्रो की सुविधा सिर्फ़ Google Sheets में उपलब्ध है. यह Google Docs, Forms या Slides में उपलब्ध नहीं है.