Google Sheets मैक्रो

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 एडिटर में मैक्रो भी बना सकते हैं:

  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. मैक्रो कॉन्फ़िगरेशन को सेव करने के लिए, अपडेट करें पर क्लिक करें.

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

नीचे दी गई मेनिफ़ेस्ट फ़ाइल के उदाहरण स्निपेट में मेनिफ़ेस्ट का वह सेक्शन दिखाया गया है जो 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. हमेशा याद रखें कि मैक्रो कीबोर्ड शॉर्टकट अनन्य होने चाहिए और किसी शीट में एक समय में शॉर्टकट के साथ केवल दस मैक्रो हो सकते हैं. किसी भी अतिरिक्त मैक्रो को सिर्फ़ एक्सटेंशन > मैक्रो मेन्यू से चलाया जा सकता है.
  4. किसी एक सेल में बदलाव करने वाले मैक्रो को कई सेल पर लागू किया जा सकता है. ऐसा करने के लिए पहले पूरी रेंज चुनें और फिर मैक्रो को चालू करें. इसका मतलब यह है कि ऐसे मैक्रो बनाना ज़रूरी नहीं होता जो सेल की पहले से तय रेंज में एक ही ऑपरेशन की नकल करते हैं.

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

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

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

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

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

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

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

आप Apps Script लाइब्रेरी का उपयोग करके मैक्रो परिभाषाएं वितरित नहीं कर सकते.

Google Sheets के बाहर मैक्रो का इस्तेमाल करना

मैक्रो केवल Google शीट की एक सुविधा है और Google दस्तावेज़, फ़ॉर्म या स्लाइड के लिए मौजूद नहीं है.