일부 스프레드 시트를 업데이트하려면 Google 스프레드 시트에서 많은 트리거를 설정해야합니다. 프로그래밍 방식으로 트리거를 만들 때 가끔씩 오류가 발생합니다.
는 가음, 여기를 만들라고 내 함수의, 내가 (... 일괄 처리 등) 작업의 기능에 프로그래밍 방식으로 다른 사람이 필요 설정을 수동으로 하나의 트리거를 설정 한 고통스러운 작업을 피하려면 트리거
나는 그 때문에 시도의 catch 블록에 트리거의 작품을 넣어했습니다function createTriggers(sheet, hour){
var nbTrigger = sheet.getLastColumn() * sheet.getLastRow()/1100 + 1 ;
var buffHour = new Date().getHours();
var min = new Date().getMinutes()+10;
if(min >=60){
min = min % 60;
buffHour++;
if(buffHour>=24){
buffHour = buffHour % 24;
}
}
//Browser.msgBox(buffHour+"h"+min);
var ok = false;
var cpt = 0;
do {
try {
ScriptApp.newTrigger("triggered").timeBased().atHour(new Date().getHours()).nearMinute(Math.abs(1)).everyDays(1).create();
ok = true;
} catch(e) {
Logger.log(e);
Utilities.sleep(1000);
cpt++;
}
}while(!ok && cpt<10);
if(cpt>10){
throw "Was unable to create a trigger...";
}
for(var i = 0; i<nbTrigger; i++){
ok = false;
cpt = 0;
do {
try {
var trigger = ScriptApp.newTrigger("update").timeBased().atHour(buffHour).nearMinute(Math.abs(min)).everyDays(1).create();
ok = true;
} catch(e) {
Logger.log(e);
Utilities.sleep(1000);
cpt++;
}
} while(!ok && cpt<10);
if(cpt>10){
throw "Was unable to create a trigger...";
}
Utilities.sleep(10000);
min +=7;
if(min >= 60){
buffHour++;
min = 0;
if(buffHour == 24){
buffHour = 0;
}
}
}
}
:
Wed May 09 13:36:41 PDT 2012 INFO: Exception: Invalid value -2 for field MINUTE, should be between [Range:0, 59]
Wed May 09 13:36:42 PDT 2012 INFO: Exception: Invalid value -8 for field MINUTE, should be between [Range:0, 59]
Wed May 09 13:36:43 PDT 2012 INFO: Exception: Invalid value -7 for field MINUTE, should be between [Range:0, 59]
Wed May 09 13:36:44 PDT 2012 INFO: Exception: Invalid value -7 for field MINUTE, should be between [Range:0, 59]
이 오는가? 왜 매번 그런 일이 일어나지 않습니까 ?? 이것을 피하려면 어떻게해야합니까?
감사합니다.