我有以下脚本。 存档部分工作正常,删除部分导致问题(但是当我使用sheet.hideRows时似乎没问题)。
以下是它应该如何运作:
它应该向下看N列,然后检查P列中的日期是否超过1个月。如果是,请将行附加到“存档”工作表,然后删除该行。
我可能错过了一些非常基本的东西,但我整天都在看它,没有什么东西可以跳出来。 有人可以看看并弄清楚为什么它不太正确吗?
编辑:所以它正在做的是删除行,但即使他们有✔。我想知道它是否因为删除一行然后继续下一行而变得“混乱”了?
// Following script looks at ticked rows that have a date older than 1 month and copies the data to a Archive tab and then deletes the original row.
function archive() {
var masterSS = SpreadsheetApp.getActiveSpreadsheet();
var sheet = masterSS.getSheetByName('IBM / CC / Cisco');
var archiveSheet = masterSS.getSheetByName('Archive');
var data = sheet.getDataRange().getValues();
var today = new Date();
var count = 0
for ( var r=4; r < data.length; r++) {
count++
var row = data[r];
Logger.log(row[1]);
if (row[1] == "") { break; }
if (row[13] == "✔") {
var date = row[15];
if (date != "" && ((today.getTime() - date.getTime()) > 2629746000)) {
Logger.log('actioning row ' + (r + 1));
archiveSheet.appendRow(row);
sheet.deleteRows(r+1)
//sheet.hideRows(r+1)
}
}
}
}
谢谢你们