2016-12-12 76 views
0

我在表單和電子表格上具有相同的腳本。當我從表單執行腳本時,它可以100%工作,但我可以獲得基於時間的安裝觸發器,我需要在早上8:29切換表單,並在上午8:59停止接受回覆。基於應用程序腳本的基於時間的觸發器

當我從電子表格執行「On Form Submit」時,我在Form Form上使用的提交功能不再有效。

我需要幫助獲取FORM腳本中的時間觸發器......或者幫助理解我需要在Sheet側執行以獲得該功能的工作。

這是在表單上工作的代碼,但不是在電子表格中......我得到「表單提交」,就是這樣,當表單觸發表單提交觸發器時,不再有Logger.Log條目。數據將在同一電子表格中發送「Form Responses 1」表單。

function onFormSubmit(e) { 
     Logger = BetterLog.useSpreadsheet('XXXXXXXXXX'); 
     Logger.log('Form Submitted'); 
     var formResponse = e.response; 
     var itemResponses = formResponse.getItemResponses(); 
     var student=[]; 
     var studentchoice = []; 
     for (var i=0; i<itemResponses.length; i++) { 
     if(itemResponses[i].getItem().getTitle()=="Pick your class"){ 
      //We will have the teachers name...open the right sheet 
      var teacher = itemResponses[i].getResponse(); 
      Logger.log(teacher); 
      classroom(teacher); //stores teacher in cache to use in another function 
     }else{ 
      student.push(itemResponses[i].getItem().getTitle()); 
      studentchoice.push(itemResponses[i].getResponse()); 
      Logger.log(itemResponses[i].getItem().getTitle()); 
     } 
     } 
     if(student.length >= 1 && studentchoice.length >= 1){ 
      enterOrders(classroom(),student,studentchoice); 
     } 

     var formattedDate = Utilities.formatDate(new Date(), "EST", "h:mm a"); 
      Logger.log(formattedDate); 

} 

回答

0

部分答案

請注意,時間驅動的腳本可以「稍微隨機」。從官方文檔

時間可能會稍微隨機化 - 例如,如果您創建一個經常性的早上9點觸發器,Apps腳本會選擇9點到10點之間的時間,然後每天保持該時間一致以便在觸發器再次觸發前24小時過去。

據我瞭解,你的腳本可以在結束時間之後開始

參考

https://developers.google.com/apps-script/guides/triggers/installable

+0

我會嘗試以編程方式從早上7點到上午8點做成每分鐘觸發觸發......或者讓它運行24/5(星期六/星期日不需要..除非我不能省略它們)。 然後使用https://productforums.google.com/forum/#!topic/docs/h5TC5uwsPLE中的代碼 –