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;あなたが持っている行数に合わせてコードを試してみてください。空の文字列を日付文字列に変換しようとしているので、問題が発生していると思います –