我一直在研究如何根据Google表格中单元格的特定日期发送电子邮件。我发现这个article,这几乎完全是我想做的事,因为时间对我来说无关紧要。如何根据Google表格中的单元格日期发送提醒日期?
我的问题是,当我使用代码,我得到错误TypeError:无法找到函数toLocaleDateString在对象中。 (第19行,文件“代码”)。
这里是片设置的副本,我有:https://docs.google.com/spreadsheets/d/1FlrpvLMRMuq8t6pI4inlKI2acrZJ68pyGHQ7Xtqi5AU/edit?usp=sharing
这里是我的代码,格式为我的专栏等
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails3() {
var today = new Date().toLocaleDateString(); // Today's date, without time
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 999; // Number of rows to process
// Fetch the range of cells A2:B999
var dataRange = sheet.getRange(startRow, 1, numRows, 999)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[3]; // POC Email column D
var subject = row[5]; // Subject column F
var message = row[6]; // Message column G
var emailSent = row[7]; // Output the message is sent in column H
var reminderDate = row[2].toLocaleDateString(); // date specified in cell C
if (reminderDate != today) // Skip this reminder if not for today
continue;
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 4).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
如何解决这个问题?除了错误之外,我还可以通过电子邮件发送我的工作表中的两个联系点吗?
谢谢你提供的所有帮助。
你有999行的数据?你可以改变这一行:var numRows = 999;到你有的行数并尝试一下代码?我认为你试图将一个空字符串转换为一个日期字符串,从而导致问题 –