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