इसे छोड़कर कंटेंट पर जाएं

प्रोटेक्टेड रेंज और शीट को मैनेज करना

इस लेख में उस मेथड के बारे में समझाया गया है, जिससे किसी खास स्प्रेडशीट की प्रोटेक्टेड रेंज और शीट प्राप्त की जाती हैं।

इस्तेमाल होने वाला मेथड

Section titled “इस्तेमाल होने वाला मेथड”
Spreadsheet.getProtections(type);

इसके लिए Spreadsheet क्लास में उपलब्ध getProtections() का इस्तेमाल किया जाता है।

आर्ग्युमेंट में प्रोटेक्शन का प्रकार बताने वाला enum ProtectionType दिया जाता है। रेंज के प्रोटेक्शन प्राप्त करने के लिए SpreadsheetApp.ProtectionType.RANGE और शीट के प्रोटेक्शन प्राप्त करने के लिए SpreadsheetApp.ProtectionType.SHEET दें।

रिटर्न वैल्यू, प्रोटेक्टेड रेंज या शीट को दर्शाने वाले Protection ऑब्जेक्ट का ऐरे होती है।

चलाते समय स्प्रेडशीट को ऐक्सेस किया जाता है, इसलिए पहली बार चलाने पर ऑथराइज़ेशन की ज़रूरत पड़ सकती है।

/**
* लक्षित स्प्रेडशीट की ID
* https://docs.google.com/spreadsheets/d/xxx/edit में xxx वाला हिस्सा
*/
const SPREAD_SHEET_ID = '_______________';
/**
* प्रोटेक्टेड रेंज और शीट का प्रोटेक्शन हटाता है
*/
const removeProtections = () => {
/** लक्षित स्प्रेडशीट */
const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);
/** प्रोटेक्टेड रेंज */
const rangeProtections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);
/** प्रोटेक्टेड शीट */
const sheetProtections = ss.getProtections(SpreadsheetApp.ProtectionType.SHEET);
// रेंज का प्रोटेक्शन हटाना
for (const protection of rangeProtections) {
if (protection.canEdit()) {
protection.remove();
}
}
// शीट का प्रोटेक्शन हटाना
for (const protection of sheetProtections) {
if (protection.canEdit()) {
protection.remove();
}
}
};

इसे चलाने पर, चुनी गई स्प्रेडशीट की सभी प्रोटेक्टेड रेंज और शीट का प्रोटेक्शन हट जाता है।

ध्यान दें कि अगर स्क्रिप्ट चलाने वाले यूज़र के पास प्रोटेक्टेड रेंज या शीट को एडिट करने की अनुमति नहीं है, तो प्रोटेक्शन हटाया नहीं जा सकता। सैंपल कोड में canEdit() से एडिट करने की अनुमति जाँची जाती है, और सिर्फ़ उन्हीं का प्रोटेक्शन हटाया जाता है जिनके लिए अनुमति है।