Google скрипт запускается в определенный день (день года) - PullRequest
1 голос
/ 16 октября 2019

Мне нужна помощь со скриптом, я уже помогал на этой платформе с этим скриптом. Это сценарий защиты, основанный на дне и другом диапазоне.

На данный момент: он в месяц (1-32 дня) Можно ли установить день года (1-365)? Это будет работать лучше в моем сценарии.

Вот оригинальный пост

function AddProtectionToColumn() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var range = GetRange(ss);
      var protectSs = range.protect().setDescription('Protection automatique');
      var me = Session.getEffectiveUser();
      protectSs.addEditor(me);
      protectSs.removeEditors(protectSs.getEditors());
      if (protectSs.canDomainEdit()) {
        protectSs.setDomainEdit(false); 
      }
    }

    function GetRange(ss){

  var today = new Date().getDate(); 
  var protections = ss.getSheets()[0].getProtections(SpreadsheetApp.ProtectionType.RANGE);

  if (today == 289){ // day of the year
    return ss.getRange("J1:K4");
  }
  else if (today == 299){ 
    return ss.getRange("J5:K10");
  }
}

Спасибо за помощь!

1 Ответ

1 голос
/ 17 октября 2019

Получение дня года

parseInt(Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "D"));

Utilities.formatDate ()

Простой формат даты

Итак, в вашем коде:

function GetRange(ss){
  var today = parseInt(Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "D"));
  var protections = ss.getSheets()[0].getProtections(SpreadsheetApp.ProtectionType.RANGE);
  if (today == 289){ // day of the year
    return ss.getRange("J1:K4");
  }
  else if (today == 299){ 
    return ss.getRange("J5:K10");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...