0
スクリプトには非常に新しいです。これは私の2番目のスクリプトです。私は基本的にGoogleサンプルを修正しました。オブジェクト内にsetFullYear関数が見つかりません - Googleスクリプト
エラー: TypeError:オブジェクトにsetFullYear関数が見つかりません。 (行22、ファイル "コード")。
電子メールが送信されるため、スクリプトは完了したようですが、なぜエラーが発生しているのかを知りたいのですが、修正するために何ができるのですか。
私は、スクリプトが日付形式が気に入らないと仮定しています。
問題のコード:
var dateToSend = row[0]; dateToSend = dateToSend.setFullYear(0000);
row[0]
はそれの日付でGoogleスプレッドシート上のセルを指します。
完全なスクリプトは、それは場合に役立ちます:あなたはそれににsetFullYear機能にアクセスできるように、行と[0]のデータを日付オブジェクトを作成する必要が
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();
}
}
}
おそらく、JSのDateオブジェクトとしてセルの値を解析する必要があります – Satyajit