Google Sheets को बढ़ाना

Google Apps Script की मदद से, Google Sheets में नए और बेहतरीन काम किए जा सकते हैं. Apps Script का इस्तेमाल करके, Google Sheets में कस्टम मेन्यू, डायलॉग, और साइडबार जोड़े जा सकते हैं. इसकी मदद से, Sheets के लिए कस्टम फ़ंक्शन भी लिखे जा सकते हैं. साथ ही, Sheets को Calendar, Drive, और Gmail जैसी अन्य Google सेवाओं के साथ इंटिग्रेट किया जा सकता है.

Google Sheets के लिए डिज़ाइन की गई ज़्यादातर स्क्रिप्ट, ऐरे में बदलाव करती हैं. ऐसा इसलिए, ताकि वे स्प्रेडशीट में मौजूद सेल, लाइनों, और कॉलम के साथ इंटरैक्ट कर सकें. अगर आपको JavaScript में ऐरे के बारे में जानकारी नहीं है, तो Codecademy ऐरे के लिए बेहतरीन ट्रेनिंग मॉड्यूल उपलब्ध कराता है. (ध्यान दें कि इस कोर्स को Google ने डेवलप नहीं किया है और न ही यह Google से जुड़ा है.)

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

अपनी प्रोफ़ाइल बनाना शुरू करें

Apps Script में खास एपीआई शामिल होते हैं. इनकी मदद से, Google Sheets को प्रोग्राम के हिसाब से बनाया, पढ़ा, और बदला जा सकता है. Apps Script, Google Sheets के साथ दो मुख्य तरीकों से इंटरैक्ट कर सकती है: कोई भी स्क्रिप्ट, स्प्रेडशीट बना सकती है या उसमें बदलाव कर सकती है. हालांकि, इसके लिए ज़रूरी है कि स्क्रिप्ट के उपयोगकर्ता के पास स्प्रेडशीट के लिए ज़रूरी अनुमतियां हों. इसके अलावा, किसी स्क्रिप्ट को स्प्रेडशीट से बाउंड भी किया जा सकता है. इससे स्क्रिप्ट को यूज़र इंटरफ़ेस में बदलाव करने या स्प्रेडशीट खोले जाने पर जवाब देने की खास सुविधाएं मिलती हैं. बाउंड स्क्रिप्ट बनाने के लिए, Google Sheets में जाकर एक्सटेंशन > Apps Script चुनें.

स्प्रेडशीट सेवा, Google Sheets को ग्रिड के तौर पर इस्तेमाल करती है. यह दो डाइमेंशन वाले ऐरे के साथ काम करती है. स्प्रेडशीट से डेटा वापस पाने के लिए, आपको उस स्प्रेडशीट का ऐक्सेस पाना होगा जिसमें डेटा सेव किया गया है. इसके बाद, आपको स्प्रेडशीट में मौजूद उस रेंज का ऐक्सेस पाना होगा जिसमें डेटा मौजूद है. इसके बाद, आपको सेल की वैल्यू मिलेंगी. Apps Script, स्प्रेडशीट में मौजूद स्ट्रक्चर्ड डेटा को पढ़कर, डेटा को ऐक्सेस करने में मदद करती है. साथ ही, उनके लिए JavaScript ऑब्जेक्ट बनाती है.

पढ़ने की गतिविधि से जुड़ा डेटा

मान लीजिए, आपके पास प्रॉडक्ट के नामों और प्रॉडक्ट नंबर की एक सूची है. इसे आपने स्प्रेडशीट में सेव किया है. इसके बारे में यहां दी गई इमेज में दिखाया गया है.

नीचे दिए गए उदाहरण में, प्रॉडक्ट के नाम और प्रॉडक्ट नंबर को वापस पाने और लॉग करने का तरीका दिखाया गया है.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

लॉग देखें

लॉग किया गया डेटा देखने के लिए, स्क्रिप्ट एडिटर में सबसे ऊपर, एक्ज़ीक्यूशन लॉग पर क्लिक करें.

डेटा सेव करने की अनुमति दें

डेटा सेव करने के लिए, जैसे कि स्प्रेडशीट में नए प्रॉडक्ट का नाम और नंबर जोड़ने के लिए, स्क्रिप्ट के आखिर में यह कोड जोड़ें.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

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

कस्टम मेन्यू और यूज़र इंटरफ़ेस

Google Sheets को अपनी पसंद के मुताबिक बनाया जा सकता है. इसके लिए, कस्टम मेन्यू, डायलॉग बॉक्स, और साइडबार जोड़े जा सकते हैं. मेन्यू बनाने की बुनियादी जानकारी पाने के लिए, मेन्यू से जुड़ी गाइड देखें. डायलॉग बॉक्स के कॉन्टेंट को पसंद के मुताबिक बनाने के बारे में जानने के लिए, एचटीएमएल सेवा से जुड़ी गाइड देखें.

किसी स्प्रेडशीट में मौजूद इमेज या ड्राइंग में स्क्रिप्ट फ़ंक्शन भी अटैच किया जा सकता है. जब कोई उपयोगकर्ता इमेज या ड्राइंग पर क्लिक करेगा, तब यह फ़ंक्शन काम करेगा. ज़्यादा जानने के लिए, Google Sheets में इमेज और ड्रॉइंग लेख पढ़ें.

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

Google Forms से कनेक्ट करना

Apps Script की मदद से, Google Forms को Google Sheets से कनेक्ट किया जा सकता है. इसके लिए, Forms और Spreadsheet सेवाओं का इस्तेमाल किया जाता है. इस सुविधा की मदद से, स्प्रेडशीट में मौजूद डेटा के आधार पर Google फ़ॉर्म अपने-आप बनाया जा सकता है. Apps Script की मदद से, ट्रिगर का इस्तेमाल भी किया जा सकता है. जैसे, onFormSubmit. इसका इस्तेमाल तब किया जाता है, जब उपयोगकर्ता के फ़ॉर्म का जवाब देने के बाद कोई कार्रवाई करनी हो. Google Sheets को Google Forms से कनेक्ट करने के बारे में ज़्यादा जानने के लिए, Google Forms के लिए जवाबों को मैनेज करना लेख पढ़ें. इसे पढ़ने में पांच मिनट लगेंगे.

फ़ॉर्मैटिंग

Range क्लास में, सेल या सेल की रेंज के फ़ॉर्मैट को ऐक्सेस करने और उसमें बदलाव करने के लिए, setBackground(color) जैसे तरीके होते हैं. यहां दिए गए उदाहरण में, किसी रेंज के फ़ॉन्ट स्टाइल को सेट करने का तरीका बताया गया है:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

डेटा सत्यापन

Apps Script की मदद से, Google Sheets में डेटा की पुष्टि करने के लिए बने मौजूदा नियमों को ऐक्सेस किया जा सकता है. इसके अलावा, नए नियम भी बनाए जा सकते हैं. उदाहरण के लिए, यहां दिए गए सैंपल में यह दिखाया गया है कि डेटा की पुष्टि करने का ऐसा नियम कैसे सेट किया जाए जिससे किसी सेल में सिर्फ़ 1 से 100 के बीच की संख्याएं डाली जा सकें.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

डेटा की पुष्टि करने के नियमों के साथ काम करने के बारे में ज़्यादा जानने के लिए, SpreadsheetApp.newDataValidation(), DataValidationBuilder, और Range.setDataValidation(rule) देखें

चार्ट

Apps Script की मदद से, स्प्रेडशीट में ऐसे चार्ट एम्बेड किए जा सकते हैं जो किसी खास रेंज में मौजूद डेटा को दिखाते हैं. नीचे दिए गए उदाहरण में, एम्बेड किया गया बार चार्ट जनरेट किया गया है. इसमें यह माना गया है कि आपके पास सेल A1:B15 में चार्ट बनाने के लिए डेटा है:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

अपनी स्प्रेडशीट में चार्ट एम्बेड करने के बारे में ज़्यादा जानने के लिए, EmbeddedChart और EmbeddedPieChartBuilder जैसे चार्ट बिल्डर देखें.

Google Sheets में कस्टम फ़ंक्शन

कस्टम फ़ंक्शन, स्प्रेडशीट के बिल्ट-इन फ़ंक्शन, जैसे कि =SUM(A1:A5) की तरह होता है. हालांकि, इसमें Apps Script की मदद से फ़ंक्शन के काम करने का तरीका तय किया जाता है. उदाहरण के लिए, in2mm() नाम का कस्टम फ़ंक्शन बनाया जा सकता है. यह फ़ंक्शन, वैल्यू को इंच से मिलीमीटर में बदलता है. इसके बाद, स्प्रेडशीट में फ़ॉर्मूले का इस्तेमाल करने के लिए, किसी सेल में =in2mm(A1) या =in2mm(10) टाइप करें.

कस्टम फ़ंक्शन के बारे में ज़्यादा जानने के लिए, मेन्यू और कस्टम फ़ंक्शन के बारे में पांच मिनट में जानकारी देने वाला क्विकस्टार्ट लेख पढ़ें. इसके अलावा, कस्टम फ़ंक्शन के बारे में ज़्यादा जानकारी देने वाली गाइड भी देखें.

मैक्रो

मैक्रो, Google Sheets के यूज़र इंटरफ़ेस (यूआई) से Apps Script कोड को लागू करने का एक और तरीका है. कस्टम फ़ंक्शन के उलट, इन्हें कीबोर्ड शॉर्टकट या Google Sheets मेन्यू के ज़रिए चालू किया जाता है. ज़्यादा जानकारी के लिए, Google Sheets में मैक्रो देखें.

Google Sheets के लिए ऐड-ऑन

ऐड-ऑन, Apps Script के खास प्रोजेक्ट होते हैं. ये Google Sheets में काम करते हैं और इन्हें Google Sheets के ऐड-ऑन स्टोर से इंस्टॉल किया जा सकता है. अगर आपने Google Sheets के लिए कोई स्क्रिप्ट बनाई है और आपको उसे दुनिया के साथ शेयर करना है, तो Apps Script की मदद से अपनी स्क्रिप्ट को ऐड-ऑन के तौर पर पब्लिश किया जा सकता है. इससे अन्य लोग, ऐड-ऑन स्टोर से इसे इंस्टॉल कर पाएंगे.

ट्रिगर

Google Sheets फ़ाइल से बाइंड की गई स्क्रिप्ट, सिंपल ट्रिगर का इस्तेमाल कर सकती हैं. जैसे, onOpen() और onEdit() फ़ंक्शन. इससे, स्प्रेडशीट में बदलाव करने का ऐक्सेस रखने वाला कोई उपयोगकर्ता जब स्प्रेडशीट खोलता है या उसमें बदलाव करता है, तो स्क्रिप्ट अपने-आप जवाब दे सकती है.

सिंपल ट्रिगर की तरह, इंस्टॉल किए जा सकने वाले ट्रिगर की मदद से, Google Sheets में किसी फ़ंक्शन को अपने-आप चलाया जा सकता है. ऐसा तब होता है, जब कोई खास इवेंट होता है. हालांकि, इंस्टॉल किए जा सकने वाले ट्रिगर, सामान्य ट्रिगर की तुलना में ज़्यादा फ़्लेक्सिबल होते हैं. साथ ही, ये इन इवेंट के साथ काम करते हैं: खोलना, बदलाव करना, बदलना, फ़ॉर्म सबमिट करना, और समय के हिसाब से (घड़ी).