脚本编写非常陌生。这是我的第二个脚本,我基本上修改了一个谷歌样本。
我得到的错误:类型错误:在对象 中找不到函数集 FullYear。(第 22 行,文件"代码"(。
随着电子邮件的发送,脚本似乎已完成,但我想知道为什么我会收到错误,以及我可以做些什么来纠正它。
我假设脚本不喜欢日期格式。
有问题的代码:
var dateToSend = row[0];
dateToSend = dateToSend.setFullYear(0000);
row[0]
是指 Google 表格中带有日期的单元格。
完整脚本,如果有帮助:
var today = new Date()
today.setHours(0,0,0,0)
today = today.setFullYear(0000) // Set year as 0, so recurs every year
var EMAIL_SENT = "EMAIL_SENT";
function sendEmailsByDate() {
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange('A2:E')
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var dateToSend = row[0];
dateToSend = dateToSend.setFullYear(0000); // This is the problematic line 22
var emailAddress = row[1];
var subject = row[2];
var message = row[3];
var emailSent = row[4];
if ((emailSent != EMAIL_SENT) && (today == dateToSend)) {
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 5).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
您必须创建一个包含 row[0] 数据的日期对象,以便可以访问其上的 setFullYear 函数。这样:
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var dateToSend = new Date(row[0]);