Google Sheets को बढ़ाना

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

Google Sheets के लिए डिज़ाइन की गई ज़्यादातर स्क्रिप्ट, स्प्रेडशीट में सेल, पंक्तियों, और कॉलम के साथ इंटरैक्ट करने के लिए अरे में बदलाव करती हैं. अगर आपको JavaScript में मौजूद अरे के बारे में जानकारी नहीं है, तो Codecademy अरे के लिए एक शानदार ट्रेनिंग मॉड्यूल उपलब्ध कराता है. (ध्यान दें कि यह कोर्स 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 से कनेक्ट किया जा सकता है. इस सुविधा से स्प्रेडशीट में मौजूद डेटा के आधार पर, अपने-आप एक 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 किसी खास इवेंट के होने पर अपने-आप फ़ंक्शन चला सकता है. हालांकि, इंस्टॉल किए जा सकने वाले ट्रिगर, आसान ट्रिगर की तुलना में ज़्यादा सुविधा देते हैं और इन इवेंट के साथ काम करते हैं: खोलना, बदलाव करना, बदलना, फ़ॉर्म सबमिट करना, और समय पर चलने वाला (घड़ी).