У меня есть приведенный ниже скрипт для архивирования строк с одного листа на другой, если выполняются некоторые условия (столбец 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, файл «Скрипт архивирования»)
Я полагаю, что это все еще пытается циклически пройти и ничего не найти, что я надеялся, что перерыв исправит, но это не так.
Кто-нибудь может предложить исправление?