Google Docs को बेहतर बनाया जा रहा है

Google Apps स्क्रिप् ट आपको प्रोग्रामेटिक रूप से Google डॉक् स बनाने और संशोधित करने, यूज़र इंटरफ़ेस को अपनी पसंद के मुताबिक बनाने के लिए, नए मेन्यू, डायलॉग बॉक्स, और साइडबार करें.

बुनियादी बातें

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

दोनों ही मामलों में, Google Docs दस्तावेज़ के साथ इंटरैक्ट करना आसान है. इसके लिए, Apps Script दस्तावेज़ सेवा, जैसा कि नीचे दिया गया उदाहरण है दिखाता है.

function createDoc() {
  var doc = DocumentApp.create('Sample Document');
  var documentTab = doc.getTab('t.0').asDocumentTab();
  var body = documentTab.getBody();
  var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']];
  body.insertParagraph(0, doc.getName())
      .setHeading(DocumentApp.ParagraphHeading.HEADING1);
  table = body.appendTable(rowsData);
  table.getRow(0).editAsText().setBold(true);
}

ऊपर दी गई स्क्रिप्ट उपयोगकर्ता के Google Drive में एक नया दस्तावेज़ बनाती है. इसके बाद, t.0 (डिफ़ॉल्ट पहला टैब) आईडी वाला टैब वापस लाता है, एक पैराग्राफ़ शामिल करता है जिसमें दस्तावेज़ के नाम के जैसा ही टेक्स्ट होता है, जो पैराग्राफ़ के तौर पर हेडिंग, और दो-डाइमेंशन वाले अरे में मौजूद वैल्यू के आधार पर एक टेबल जोड़ता है. कॉन्टेंट बनाने स्क्रिप्ट किसी मौजूदा दस्तावेज़ में इतनी आसानी से ये बदलाव कर सकती है कॉल को DocumentApp.create() से बदला जा रहा है DocumentApp.openById() के साथ या openByUrl(). किसी दस्तावेज़ में बनाई गई स्क्रिप्ट (कंटेनर-बाउंड) के लिए, इसका इस्तेमाल करें DocumentApp.getActiveDocument() और Document.getActiveTab().

दस्तावेज़ का स्ट्रक्चर

Apps Script के हिसाब से, Google Docs दस्तावेज़ को बहुत कुछ एक HTML दस्तावेज़ की तरह होता है—यानी, ऐसा दस्तावेज़ जिसमें एक या उससे ज़्यादा Tab ऑब्जेक्ट, जिनमें से हर एक में शामिल है एलिमेंट (जैसे कि Paragraph या Table) जिनमें अक्सर अन्य चीज़ें शामिल होती हैं एलिमेंट. किसी Google दस्तावेज़ दस्तावेज़ में बदलाव करने वाली ज़्यादातर स्क्रिप्ट getTab() और asDocumentTab() इसके बाद, getBody() है, क्योंकि Body मुख्य एलिमेंट है जिसमें टैब में, सिर्फ़ इन चीज़ों को छोड़कर बाकी सभी एलिमेंट शामिल होते हैं HeaderSection, FooterSection और कोई भी Footnotes.

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

बोल्ड में दिखाए गए एलिमेंट शामिल किए जा सकते हैं; नॉन-बोल्ड एलिमेंट सिर्फ़ छेड़छाड़ की गई है.

टेक्स्ट बदलना

Apps Script का इस्तेमाल, अक्सर Google Docs में टेक्स्ट बदलने के लिए किया जाता है. मान लें कि आपके पास इस स्प्रेडशीट में क्लाइंट की जानकारी भरी होती है. इस स्प्रेडशीट में, आपको उपयोगकर्ता की ज़रूरत के हिसाब से हर क्लाइंट के लिए Google दस्तावेज़. (इस तरह की कार्रवाई को अक्सर मेल कहा जाता है merge.)

टेक्स्ट बदलने के कई तरीके हैं, लेकिन सबसे आसान तरीका है replaceText() तरीका नीचे दिए गए उदाहरण में दिखाया गया है. replaceText ज़्यादातर काम करता है के रेगुलर एक्सप्रेशन की सुविधाओं के बारे में ज़्यादा जानकारी मिलती है. नीचे दिया गया पहला फ़ंक्शन किसी Google Docs में प्लेसहोल्डर टेक्स्ट की कई लाइनें जोड़ता है; असल दुनिया में, आपको आपके दस्तावेज़ में प्लेसहोल्डर टाइप करने की संभावना बढ़ जाती है. कॉन्टेंट बनाने दूसरा फ़ंक्शन, प्लेसहोल्डर को client ऑब्जेक्ट.

ध्यान दें कि ये दोनों फ़ंक्शन getActiveDocument() और getActiveTab() के तरीके, जो सिर्फ़ Google Docs दस्तावेज़ में बनाई गई स्क्रिप्ट पर लागू होते हैं; अपने-आप में पूरी होने वाली स्क्रिप्ट में, DocumentApp.create(), openById(), या openByUrl(), Document.getTab() के साथ मिलकर, आज़माएं.

कुछ प्लेसहोल्डर जोड़ें

function createPlaceholders() {
  var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();
  body.appendParagraph('{name}');
  body.appendParagraph('{address}');
  body.appendParagraph('{city} {state} {zip}');
}

प्लेसहोल्डर बदलें

function searchAndReplace() {
  var body = DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();
  var client = {
    name: 'Joe Script-Guru',
    address: '100 Script Rd',
    city: 'Scriptville',
    state: 'GA',
    zip: 94043
  };

  body.replaceText('{name}', client.name);
  body.replaceText('{address}', client.address);
  body.replaceText('{city}', client.city);
  body.replaceText('{state}', client.state);
  body.replaceText('{zip}', client.zip);
}

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

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

कस्टम मेन्यू जोड़ने का तरीका जानें और आपके Google Docs के डायलॉग. किसी डायलॉग या साइडबार के लिए कस्टम इंटरफ़ेस बनाने के बारे में ज़्यादा जानने के लिए, एचटीएमएल सेवा के लिए गाइड. अगर आपको अपने कस्टम इंटरफ़ेस को ऐड-ऑन, स्टाइल गाइड पढ़ें Google Docs एडिटर की स्टाइल और लेआउट.

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

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

Google Docs के लिए ऐड-ऑन बनाने का तरीका जानने के लिए, यहां जाएं: Docs ऐड-ऑन बनाने के लिए क्विकस्टार्ट.

ट्रिगर

ऐसी स्क्रिप्ट जो Google से बाकी होती हैं Google Docs, जवाब देने के लिए आसान ट्रिगर का इस्तेमाल कर सकता है दस्तावेज़ के onOpen इवेंट में ले जाया जाता है, जो तब होता है, जब कोई उपयोगकर्ता, जिसके पास दस्तावेज़ में बदलाव करने का ऐक्सेस होता है, उसे Google Docs में खोलता है.

ट्रिगर सेट अप करने के लिए, बस onOpen() नाम का एक फ़ंक्शन लिखें. उदाहरण के लिए Google Workspace में कस्टम मेन्यू देखें. हालांकि, मेन्यू जोड़ने के लिए आसान ट्रिगर उपयोगी है, लेकिन यह किसी भी ऐप्लिकेशन का इस्तेमाल नहीं कर सकता ऐसी स्क्रिप्ट सेवाएं जिनके लिए अनुमति लेना ज़रूरी है.