Google Sheets मैक्रो

Google Sheets की मदद से, ऐसे मैक्रो रिकॉर्ड किए जा सकते हैं जो आपके तय किए गए यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन की खास सीरीज़ का डुप्लीकेट बनाते हैं. मैक्रो रिकॉर्ड करने के बाद, उसे Ctrl+Alt+Shift+Number के तौर पर कीबोर्ड शॉर्टकट से लिंक किया जा सकता है. उस शॉर्टकट का इस्तेमाल करके, सटीक मैक्रो चरणों को फिर से तुरंत लागू किया जा सकता है. ये चरण आम तौर पर, अलग-अलग जगह या डेटा के लिए होते हैं. Google Sheets के एक्सटेंशन > मैक्रो मेन्यू से भी मैक्रो को चालू किया जा सकता है.

मैक्रो रिकॉर्ड करने पर, Google Sheets अपने-आप एक Apps Script फ़ंक्शन (मैक्रो फ़ंक्शन) बना देता है, जो मैक्रो के चरणों को दोहराता है. मैक्रो फ़ंक्शन को Sheets में मौजूद Apps Script प्रोजेक्ट में macros.gs टाइटल वाली फ़ाइल में जोड़ा जाता है. यह प्रोजेक्ट, शीट से लिंक होता है. अगर उस नाम वाली शीट में पहले से ही कोई प्रोजेक्ट फ़ाइल बाउंड है, तो मैक्रो फ़ंक्शन को उसमें जोड़ दिया जाता है. Google Sheets, स्क्रिप्ट प्रोजेक्ट के manifest को भी अपने-आप अपडेट करता है. साथ ही, मैक्रो को असाइन किया गया नाम और कीबोर्ड शॉर्टकट रिकॉर्ड करता है.

रिकॉर्ड किया गया हर मैक्रो, पूरी तरह से Apps Script में तय किया जाता है. इसलिए, उनमें सीधे Apps Script एडिटर में बदलाव किया जा सकता है. Apps Script में, शुरुआत से मैक्रो लिखे जा सकते हैं या पहले से लिखे गए फ़ंक्शन को मैक्रो में बदला जा सकता है.

Apps Script में मैक्रो बनाना

Apps Script में लिखे गए फ़ंक्शन को मैक्रो फ़ंक्शन के तौर पर इस्तेमाल किया जा सकता है. ऐसा करने का सबसे आसान तरीका है कि आप Google Sheets एडिटर से मौजूदा फ़ंक्शन इंपोर्ट करें.

इसके अलावा, आप यह तरीका अपनाकर Apps Script एडिटर में मैक्रो भी बना सकते हैं:

  1. Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > Apps Script चुनें. इससे, Apps Script एडिटर में शीट से जुड़ी स्क्रिप्ट खुल जाएगी.
  2. मैक्रो फ़ंक्शन लिखें. मैक्रो फ़ंक्शन में कोई आर्ग्युमेंट नहीं होना चाहिए और न ही कोई वैल्यू दिखानी चाहिए.
  3. मैक्रो बनाने और उसे मैक्रो फ़ंक्शन से लिंक करने के लिए, अपने स्क्रिप्ट मेनिफ़ेस्ट में बदलाव करें. इसके लिए, कोई यूनीक कीबोर्ड शॉर्टकट और नाम असाइन करें.
  4. स्क्रिप्ट प्रोजेक्ट सेव करें. इसके बाद, मैक्रो शीट में इस्तेमाल के लिए उपलब्ध हो जाता है.
  5. शीट में मैक्रो फ़ंक्शन की जांच करें, ताकि यह पुष्टि की जा सके कि यह आपकी उम्मीद के मुताबिक काम कर रहा है.

मैक्रो में बदलाव करना

आप किसी शीट के साथ जोड़े गए मैक्रो में यह बदलाव कर सकते हैं:

  1. Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > मैक्रो > मैक्रो मैनेज करें को चुनें.
  2. वह मैक्रो ढूंढें जिसमें आपको बदलाव करना है. इसके बाद, > मैक्रो में बदलाव करें चुनें. इससे, Apps Script एडिटर उस प्रोजेक्ट फ़ाइल में खुल जाता है जिसमें मैक्रो फ़ंक्शन मौजूद होता है.
  3. मैक्रो के काम करने के तरीके में बदलाव करने के लिए, मैक्रो फ़ंक्शन में बदलाव करें.
  4. स्क्रिप्ट प्रोजेक्ट सेव करें. इसके बाद, मैक्रो शीट में इस्तेमाल के लिए उपलब्ध हो जाता है.
  5. शीट में मैक्रो फ़ंक्शन की जांच करें, ताकि यह पुष्टि की जा सके कि यह आपकी उम्मीद के मुताबिक काम कर रहा है.

मैक्रो के रूप में फ़ंक्शन आयात करना

अगर शीट में पहले से कोई स्क्रिप्ट बाउंड है, तो स्क्रिप्ट में किसी फ़ंक्शन को एक नए मैक्रो के रूप में import किया जा सकता है. इसके बाद, उस फ़ंक्शन को कीबोर्ड शॉर्टकट असाइन किया जा सकता है. ऐसा करने के लिए, मेनिफ़ेस्ट फ़ाइल में बदलाव करें और sheets.macros[] प्रॉपर्टी में कोई दूसरा एलिमेंट जोड़ें.

इसके अलावा, Sheets के यूज़र इंटरफ़ेस (यूआई) से किसी फ़ंक्शन को मैक्रो के तौर पर इंपोर्ट करने के लिए, यह तरीका अपनाएं:

  1. Google Sheets के यूज़र इंटरफ़ेस (यूआई) में, एक्सटेंशन > मैक्रो > इंपोर्ट करें को चुनें.
  2. दिखाई गई सूची से कोई फ़ंक्शन चुनें. इसके बाद, फ़ंक्शन जोड़ें पर क्लिक करें.
  3. डायलॉग बॉक्स बंद करने के लिए, को चुनें.
  4. एक्सटेंशन > मैक्रो > मैक्रो मैनेज करें को चुनें.
  5. सूची में, वह फ़ंक्शन ढूंढें जिसे आपने अभी इंपोर्ट किया है. मैक्रो के लिए कोई यूनीक कीबोर्ड शॉर्टकट असाइन करें. यहां मैक्रो का नाम भी बदला जा सकता है. डिफ़ॉल्ट रूप से, नाम फ़ंक्शन के नाम पर सेट होता है.
  6. मैक्रो कॉन्फ़िगरेशन सेव करने के लिए, अपडेट करें पर क्लिक करें.

मैक्रो के लिए मेनिफ़ेस्ट का स्ट्रक्चर

मेनिफ़ेस्ट फ़ाइल के उदाहरण के इस स्निपेट में, manifest का वह सेक्शन दिखाया गया है जिसमें 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 में मैक्रो बनाते या मैनेज करते समय, आप इन दिशा-निर्देशों का पालन करें.

  1. कम साइज़ वाले मैक्रो ज़्यादा बेहतर परफ़ॉर्म करते हैं. जहां तक हो सके, मैक्रो से की जाने वाली कार्रवाइयों की संख्या को सीमित करें.
  2. मैक्रो, उन रोटीन ऑपरेशन के लिए सबसे सही होते हैं जिन्हें बार-बार दोहराना पड़ता है. साथ ही, इनमें कॉन्फ़िगरेशन की ज़रूरत कम होती है या बिल्कुल नहीं होती. अन्य कार्रवाइयों के लिए, इसके बजाय कस्टम मेन्यू आइटम का इस्तेमाल करें.
  3. हमेशा याद रखें कि मैक्रो के कीबोर्ड शॉर्टकट यूनीक होने चाहिए. साथ ही, किसी शीट में एक बार में सिर्फ़ 10 मैक्रो के शॉर्टकट हो सकते हैं. किसी भी अतिरिक्त मैक्रो को सिर्फ़ एक्सटेंशन > मैक्रो मेन्यू से चलाया जा सकता है.
  4. किसी एक सेल में बदलाव करने वाले मैक्रो को सेल की रेंज में लागू किया जा सकता है. इसके लिए, पहले पूरी रेंज चुनें और फिर मैक्रो चालू करें. इसका मतलब है कि आम तौर पर, ऐसी मैक्रो बनाने की ज़रूरत नहीं होती जो पहले से तय की गई सेल की रेंज में एक ही कार्रवाई को डुप्लीकेट करती हैं.

ये काम नहीं किए जा सकते

मैक्रो की मदद से क्या-क्या किया जा सकता है, इसके लिए कुछ पाबंदियां लगाई गई हैं:

बाउंड स्क्रिप्ट के बाहर मैक्रो का इस्तेमाल करना

मैक्रो, खास Google Sheets से जुड़ी स्क्रिप्ट में तय किए जाते हैं. मैक्रो परिभाषाओं को स्टैंडअलोन स्क्रिप्ट या वेब ऐप्लिकेशन में अनदेखा किया जाता है.

Sheets ऐड-ऑन में मैक्रो तय करना

Sheets ऐड-ऑन का इस्तेमाल करके, मैक्रो की परिभाषाएं शेयर नहीं की जा सकतीं. Sheets के किसी ऐड-ऑन प्रोजेक्ट में मौजूद मैक्रो डेफ़िनिशन को, उस ऐड-ऑन के उपयोगकर्ता अनदेखा कर देते हैं.

स्क्रिप्ट लाइब्रेरी में मैक्रो डिस्ट्रिब्यूट करना

Apps Script की लाइब्रेरी का इस्तेमाल करके, मैक्रो की परिभाषाएं शेयर नहीं की जा सकतीं.

Google Sheets के अलावा किसी अन्य जगह पर मैक्रो का इस्तेमाल करना

मैक्रो सिर्फ़ Google Sheets में उपलब्ध है. यह सुविधा Google Docs, Forms या Slides में मौजूद नहीं है.