Google Sheets का विस्तार करना

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

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