Google表格脚本无法可靠运行

时间:2019-04-11 15:38:49

标签: google-apps-script google-sheets

我已经有了一个非常可靠的脚本:

1)从新数据标签中获取数据并将其发布到现有数据标签中 2)清除新数据标签中的数据 3)从现有数据标签中删除重复项

当我最初放置此脚本时,它工作得很好。但是运行几次后,它似乎停滞在脚本的重复数据删除部分。因此,当我运行它时,前两个脚本会运行,但第三个脚本不会运行。如果我选择重复数据删除脚本自己运行,那么它将正常工作。

还有其他人看到过这个问题吗?有什么方法可以调整脚本以使其运行更可靠,从而使其始终能够处理所有三个脚本?

不确定如何从那里进行优化。

function Run(){
  insert();
  clear1();
  removeDuplicates();
}
function insert() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheetByName('Candidate Refresh'); // change here
  var des = ss.getSheetByName('Candidate Listing'); // change here

  var sv = source
    .getDataRange()
    .getValues();
  sv.shift();
  des.insertRowsAfter(1, sv.length);
  des.getRange(2, 1, sv.length, source.getLastColumn()).setValues(sv);
}
function clear1() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Candidate Refresh');
  sheet.getRange('A2:K100').clearContent()
}
function removeDuplicates() {
  var sheet=SpreadsheetApp.getActiveSheet();
  var rows=sheet.getLastRow();
  var firstColumn=sheet.getRange(1, 2, rows, 1).getValues();
  firstColumn = firstColumn.map(function(e){return e[0]})
  var uA=[];
  for (var i=rows;i>0;i--) {
    if (uA.indexOf(firstColumn[i-1])!=-1) {
      sheet.deleteRow(i);
    }else{
      uA.push(firstColumn[i-1]);
    }
  }
}

播放“运行”脚本时,所有三个脚本均应触发。

0 个答案:

没有答案