簡體   English   中英

Google Apps腳本-如何中斷循環以防止出現錯誤消息

[英]Google Apps Script - How to break loop to prevent error message

如果滿足某些條件(G列不為空白,並且A列中的日期等於或大於3個月),我將使用以下腳本將行從一個工作表存檔到另一個工作表。 它將匹配的行追加到新工作表上,並從原始工作表中刪除該行。

function Archiving() {

  var masterSS = SpreadsheetApp.getActiveSpreadsheet() || SpreadsheetApp.openById('sheetID');
  var responseSheet = masterSS.getSheetByName('responseSheetname');
  var archiveSheet = masterSS.getSheetByName('archiveSheetName');

  var responseData = responseSheet.getRange(2,1, responseSheet.getLastRow()-1, responseSheet.getLastColumn()).getValues();
  var lastRow = responseSheet.getLastRow();
  var today = new Date();
  for (var i = responseData.length-1; i < responseData.length; i--){
    var row = responseData[i];
    if (row[0] == "") {break;}
    if (row[6] != "") {
      var date = row[0];
      if (date != "" && ((today.getTime() - date.getTime()) > 7776000000)) {
        Logger.log(date)
        archiveSheet.appendRow(responseData[i]);
        responseSheet.deleteRow(i+2);
      }
    }
  }
}

它正在工作,但是,在完成歸檔后,它會拋出以下錯誤:

TypeError:無法從未定義中讀取屬性“ 0”。 (第42行,文件“存檔腳本”)

我認為這是因為它仍在嘗試遍歷並且什么也沒找到,我曾希望中斷可以解決,但是沒有。

任何人都可以提出修復建議?

如果有人感興趣,解決方法就是更改。

if (row[0] == "") {break;}

if (!row || row[0] == "") {break;}

感謝LGSon。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM