Need to delete an entire row based on one cell's criteria

我怕爱的太早我们不能终老 提交于 2019-12-01 13:11:13

Try this:

function createTimeBasedTriggerIfYouDontAlreadyHaveOne() {
  if(!isTrigger(deleteDeliveredRows)) {
     ScriptApp.newTrigger(deleteDeliveredRows).timeBased().everyDays(1).atHour(0).create();
  }
}

function deleteDeliveredRows() {
  var ss=SpreadsheetApp.openById('ssid')
  var sh=ss.getSheetByName('sheetname');
  var rowStart=2;//assume 1 row for headers
  var rg=sh.getRange(rowStart,1,sh.getLastRow()-rowStart+1,sh.getLastColumn());
  var vA=rg.getValues();
  var d=0;
  for(var i=0;i<vA.length;i++) {
    if(vA[i][8]=="Delivered") {
      sh.deleteRow(i + rowStart - d++);
    }
  }
}

function isTrigger(funcName){
  var r=false;
  if(funcName){
    var allTriggers=ScriptApp.getProjectTriggers();
    for(var i=0;i<allTriggers.length;i++){
      if(funcName==allTriggers[i].getHandlerFunction()){
        r=true;
        break;
      }
    }
  }
  return r;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!