Google Sheets मैक्रो

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

मैक्रो रिकॉर्ड करने पर, Google Sheets अपने-आप एक Apps Script फ़ंक्शन (मैक्रो फ़ंक्शन) बना देता है, जो मैक्रो के चरणों को दोहराता है. मैक्रो फ़ंक्शन, macros.gs नाम की फ़ाइल में, शीट से बाउंड किए गए Apps Script प्रोजेक्ट में जोड़ा जाता है. अगर उस नाम वाली शीट में पहले से ही कोई प्रोजेक्ट फ़ाइल बाउंड है, तो मैक्रो फ़ंक्शन को उसमें जोड़ दिया जाता है. 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 में नहीं है.