我已经有了一个非常可靠的脚本:
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]);
}
}
}
播放“运行”脚本时,所有三个脚本均应触发。