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 की मदद से, Forms और स्प्रेडशीट सेवाओं के ज़रिए Google Forms को Google Sheets से जोड़ा जा सकता है. यह सुविधा, स्प्रेडशीट में मौजूद डेटा के आधार पर अपने-आप एक 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 की मदद से अपनी स्क्रिप्ट को ऐड-ऑन के तौर पर publish किया जा सकता है, ताकि दूसरे उपयोगकर्ता उसे ऐड-ऑन स्टोर से इंस्टॉल कर सकें.

ट्रिगर

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

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