我尝试过Utilities.formatDate,但它显示出一个错误
异常:参数(String、String、String)与Utilities.formatDate的方法签名不匹配。
function findCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("DELEGATION");
var lr = sheet.getLastRow();
var dataRange = sheet.getRange(5,1,lr-4,9).getValues();
for (var i = 0; i < dataRange.length; i++) {
for (var j = 0; j < dataRange[i].length; j++) {
var taskAsignDate = dataRange[i][0];
var taskId = dataRange[i][1];
var doerName = dataRange[i][2];
var taskName = dataRange[i][4];
var dueDate = dataRange[i][5];
var taskAsignBy = dataRange[i][6];
var date = new Date;
var status = dataRange[i][1];
var htmlfile = HtmlService.createTemplateFromFile("email")
htmlfile.taskAsignDate = Utilities.formatDate(taskAsignDate,"GMT","dd-mm-yy");
htmlfile.taskId = taskId;
htmlfile.doerName = doerName;
htmlfile.taskName = taskName;
htmlfile.dueDate = dueDate;
htmlfile.taskAsignBy = taskAsignBy;
htmlfile.status = status;
var htmlforemail = htmlfile.evaluate().getContent();
if (dataRange[i][j] == "Pending" && doerName == "Mr. Deepak Raj" && dueDate<=date) {
Logger.log(dataRange[i],[j]);
GmailApp.sendEmail("abc@abc.com","Test HTML","HTML FILE",{htmlBody:htmlforemail});
}
}
}
}发布于 2022-11-09 07:20:00
Utilities.formatDate的第一个参数应该是Date对象,但是taskAsignDate的值是一个字符串。
您需要检查电子表格,并验证源范围(sheet.getRange(5,1,lr-4,9).getValues())中第一列的值都是日期。
相关
https://stackoverflow.com/questions/74370513
复制相似问题