मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो साप्ताहिक रूप से अलग-अलग रेंज की रक्षा करेगी। मैंने इसे शुरू करने के लिए साप्ताहिक लॉकिंग और ट्रिगर का पता लगा लिया है। हालांकि, हर हफ्ते एक नई रेंज की जरूरत होती है। यदि सप्ताह 1 था;

var range = sheet.getRange(4, 5, 5, 6);

सप्ताह 2 की आवश्यकता होगी;

var range = sheet.getRange(10, 5, 5, 6);

और इसी तरह। तो ट्रिगर सक्रिय होने वाले सप्ताह के आधार पर केवल मेरे पंक्ति इनपुट को बदलने की आवश्यकता होगी।

पूरी स्क्रिप्ट वर्तमान में इस प्रकार है:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Multiple'); //INSERT SHEET NAME HERE


function lockRange(row, col){
  var range = sheet.getRange(10, 5, 5, 6);

  // Create protection object. Set description, anything you like.
  var protection = range.protect().setDescription('Date1');

 // Ensure the current user is an editor before removing others. Otherwise, if the user's edit
 // permission comes from a group, the script will throw an exception upon removing the group.
 var me = Session.getEffectiveUser();
 protection.addEditor(me);
 protection.removeEditors(protection.getEditors());
 if (protection.canDomainEdit()) {
   protection.setDomainEdit(false);
 }
}
0
D Stutz 8 जून 2020, 20:52

1 उत्तर

सबसे बढ़िया उत्तर

उत्तर:

आप अगले सप्ताह PropertiesService का उपयोग करके स्क्रिप्ट के गुणों में संग्रहीत कर सकते हैं।

कोड संशोधन:

function lockRange(row, col){
  var week = PropertiesService.getScriptProperties().getProperty("week");

  if (!week) {
    week = PropertiesService.getScriptProperties().setProperty("week", 4)
  }
  else {
    week = PropertiesService.getScriptProperties().setProperty("week", parseInt(week) + 6)
  }  

  week = PropertiesService.getScriptProperties().getProperty("week");

  var range = sheet.getRange(parseInt(week), 5, 5, 6);

  // continue your code...
}

function clearProperties() {
  // run this function ONCE to clear any properties that are being stored in
  // the script from testing/previous runs.
  PropertiesService.getScriptProperties().deleteAllProperties();
}

मैं उम्मीद करता हूँ यह आप के लिए उपयोगी है!

सन्दर्भ:

0
Community 20 जून 2020, 12:12