संक्षिप्त जवाब
इस समय, चर Google डॉक्स और Google Apps स्क्रिप्ट की अंतर्निहित सुविधा नहीं है, Google डॉक्स को विस्तारित करने के लिए प्लेटफ़ॉर्म, उन्हें संभालने के लिए एक वर्ग या विधि शामिल नहीं करता है।
वैकल्पिक
वैकल्पिक 1
एक विकल्प एक पाठ पैटर्न का उपयोग करता है लेकिन आपको यह सुनिश्चित करना चाहिए कि यह केवल उस तिथि से मेल खाएगा जिसे आप अपडेट करना चाहते हैं।
वैकल्पिक 2
एक अन्य विकल्प वर्ग NamedRange का उपयोग करना है लेकिन यह ध्यान में रखना है
- रेंज को आगे बढ़ाने से यह होगा कि यह अपना नाम 1 खो देगा ।
- कई तत्वों के साथ नामांकित श्रेणी में पाठ को बदलना केवल पहली बार 2 काम करता है ।
कोड:
Google डॉक्यूमेंट से जुड़ी स्क्रिप्ट में उपयोग किए जाने वाले निम्नलिखित कोड के दो मुख्य कार्य हैं:
- आज की तारीख डालें
- आज की तारीख को अपडेट करें
डिबगिंग उद्देश्यों के लिए उपयोग किया जा रहा है
- केवल तारीख के बजाय तारीख और समय।
- कस्टम मेनू मुख्य कार्यों को ट्रिगर करने के लिए।
"ज्ञात-मुद्दे": अद्यतन फ़ंक्शन पूरे पैराग्राफ को बदल देता है।
कोड का परीक्षण करने के लिए, इसे कॉपी करें, फिर अपने Google डॉक्स पर जाएं, एक नया दस्तावेज़ बनाएं, टूल> स्क्रिप्ट एडिटर पर क्लिक करें, ब्लैंक प्रोजेक्ट चुनें, कोड पेस्ट करें, प्रोजेक्ट को सहेजें, एक नाम असाइन करें, ऐप को अधिकृत करने के लिए समय पर चलाएं। , अपने डॉक्टर को बंद करें और फिर से खोलें। "यूटिलिटीज" नामक एक नया मेनू प्रदर्शित किया जाएगा। वहां से आप मुख्य कार्यों को कॉल कर सकते हैं।
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('Utilities')
.addItem('Insert Today\'s Date', 'insertTodayAtCursor')
.addItem('Update Today\'s Date', 'setTodayNamedRange')
.addToUi();
}
function todayDate(){
return Utilities.formatDate(new Date(), "GMT-5", "yyyy-MM-dd'T'HH:mm:ss'Z'"); // "yyyy-MM-dd"
}
/**
* Inserts the today's date at the current cursor location and create a NamedRange.
*/
function insertTodayAtCursor() {
var str = 'testToday';
var doc = DocumentApp.getActiveDocument();
var cursor = doc.getCursor();
if (cursor) {
// Attempt to insert today's date at the cursor position. If insertion returns null,
// then the cursor's containing element doesn't allow text insertions.
var date = todayDate();
var element = cursor.insertText(date);
if (element) {
var rangeBuilder = doc.newRange();
rangeBuilder.addElement(element);
return doc.addNamedRange(str, rangeBuilder.build());
} else {
DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
}
} else {
DocumentApp.getUi().alert('Cannot find a cursor in the document.');
}
}
function setTodayNamedRange(){
var str = 'testToday';
var doc = DocumentApp.getActiveDocument();
// Retrieve the named range
var namedRanges = doc.getNamedRanges();
var newRange = doc.newRange();
var date = todayDate();
for(var i=0; i<namedRanges.length; i++){
if(namedRanges[i].getName() == str){
var rangeElement = namedRanges[i].getRange().getRangeElements();
for (var j=0; j<rangeElement.length; j++){
var element = rangeElement[j].getElement().asText().editAsText().setText(date);
newRange.addElement(element);
}
}
}
doc.addNamedRange(str, newRange.build());
}
नीचे विभिन्न प्रकार (प्रश्न, विनिर्देशों, आदि) के कुछ आइटम हैं जो "समाधान" खोजने के लिए प्रेरणा या "सही दिशा" की ओर इशारा करते हैं।
फुटनोट