[英]Trying to delete rows in a spreadsheet based on the date
我试图遍历工作表的行,以根据在F列中找到的日期删除某些行。第28行出现语法错误。我不确定是什么触发了此错误,因为代码看起来还不错我。 任何意见,将不胜感激。
function dateReduce() {
var ss = SpreadsheetApp.openById('1yl599Ff7d1aaSTKpHAeHW5wswiDOzNegrKxS1Z1SquY');
var sheet = ss.getSheetByName("worksheet");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
var range = sheet.getRange(2, 6, 1374);
var values = range.getValues(); // getValues() results in a javascript array as opposed to a google script array
var numRows = range.getNumRows();
var endDate;
for (var i = 1; i <= numRows; i++) {
endDate = new Date(values[i][5]);
if (yyyy > endDate.getFullYear()) {
sheet.deleteRow(i);
};
else if (yyyy === endDate.getFullYear()) {
if ( mm > (endDate.getMonth()+1)) {
sheet.deleteRow(i);
};
};
else if ((mm === endDate.getMonth()+1) && (yyyy == endDate.getFullYear())) {
if (dd > endDate.getDate()) {
sheet.deleteRow(i);
};
};
};
};
您需要在所有结尾的花括号(“}”)之后删除分号。 除非涉及分配操作,否则无需在分号后加上分号。
function dateReduce() {
var ss = SpreadsheetApp.openById('1yl599Ff7d1aaSTKpHAeHW5wswiDOzNegrKxS1Z1SquY');
var sheet = ss.getSheetByName("worksheet");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
var range = sheet.getRange(2, 6, 1374);
var values = range.getValues(); // getValues() results in a javascript array as opposed to a google script array
var numRows = range.getNumRows();
var endDate;
for (var i = 1; i <= numRows; i++) {
endDate = new Date(values[i][5]);
if (yyyy > endDate.getFullYear()) {
sheet.deleteRow(i);
} else if (yyyy === endDate.getFullYear()) {
if (mm > (endDate.getMonth() + 1)) {
sheet.deleteRow(i);
}
} else if ((mm === endDate.getMonth() + 1) && (yyyy == endDate.getFullYear())) {
if (dd > endDate.getDate()) {
sheet.deleteRow(i);
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.