行为不如预期。如果满足条件,则追加和删除行

时间:2018-02-13 15:02:18

标签: google-apps-script google-sheets

我有以下脚本。 存档部分工作正常,删除部分导致问题(但是当我使用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)
      }
    }
  }
}

谢谢你们

0 个答案:

没有答案