Google Forms Script для открытия формы в определенное время в будние и выходные дни. - PullRequest
0 голосов
/ 24 августа 2018

Я использую следующий сценарий, чтобы форма была доступна с 6 утра до 8 утра каждый день, однако я хотел бы, чтобы она была доступна с 6 утра до 8 утра по будням и с 6 утра до 11 утра по выходным ... Предложения?

function initTrigger(){
  ScriptApp.newTrigger('oc').timeBased().atHour(0).everyDays(1).create();
}

function oc() {
  ScriptApp.getProjectTriggers().forEach(function(e){
    if(e.getHandlerFunction() == "openForm" || e.getHandlerFunction() == "closeForm") {
      ScriptApp.deleteTrigger(e)
    }
  });

  var time = new Date()
  time.setHours(6);
  time.setMinutes(00);
  ScriptApp.newTrigger("openForm").timeBased().at(time).create();

  time.setHours(8);
  time.setMinutes(0);
  ScriptApp.newTrigger("closeForm").timeBased().at(time).create();
}

function openForm() {
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(true);
}

function closeForm() {  
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(false);
  // deleteTriggers_();
}

1 Ответ

0 голосов
/ 26 августа 2018

Я полагаю, я получил его для работы со следующим:

function initTrigger(){
  ScriptApp.newTrigger('oc').timeBased().atHour(0).everyDays(1).create();
}

function oc() {
  ScriptApp.getProjectTriggers().forEach(function(e){
    if(e.getHandlerFunction() == "openForm" || e.getHandlerFunction() == "closeForm") {
      ScriptApp.deleteTrigger(e)
    }
  });

  var day = new Date();
  if (day.getDay()>5 || day.getDay()==0) {

  var time = new Date()
  time.setHours(6);
  time.setMinutes(00);
  ScriptApp.newTrigger("openForm").timeBased().at(time).create();

  time.setHours(11);
  time.setMinutes(00);
  ScriptApp.newTrigger("closeForm").timeBased().at(time).create();
}

else {

  var time = new Date()
  time.setHours(6);
  time.setMinutes(00);
  ScriptApp.newTrigger("openForm").timeBased().at(time).create();

  time.setHours(8);
  time.setMinutes(00);
  ScriptApp.newTrigger("closeForm").timeBased().at(time).create();

     }
}

function openForm() {
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(true);
}

function closeForm() {  
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(false);
  // deleteTriggers_();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...