Google电子表格脚本执行时间限制

时间:2017-05-11 08:06:53

标签: google-apps-script google-sheets time-limiting

我已经编写了gs脚本来清除工作表中所有单元格的数据。电子表格有很多工作表(约200),我得到时间限制执行错误。也许有人有想法如何解决这个问题。这是我的代码示例。

function cleanAllOld() {

  var sheetsName = new Array();
  var destination = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link");
  var sheets = destination.getSheets();

  for (var k = 0; k < sheets.length; k++) {

    sheetsName.push([sheets[k].getName()]);

    for (var p = 0; p < sheetsName.length; p++) {
      var sheet = destination.getSheetByName(sheetsName[p]);
      if (sheet === null) {} else {
        sheet.getDataRange().clearContent();
      }
    }
  }
}

2 个答案:

答案 0 :(得分:2)

我没有得到你的代码的全部内容,但我认为他太复杂了。这是一个有效的样本:

function AllDelete() {

  var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link");
  var sheets = ss.getSheets();
  var i = 0;

  for(i in sheets){

    sheets[i].clearContents();

  }

}

编辑:Max很快且正确,getDataRange()方法使用了大量的资源

答案 1 :(得分:1)

我认为问题在于确定数据范围。

尝试替换此

sheet.getDataRange().clearContent();

由此:

sheet.clearContents();