如何避免在更新单元格中的值后发送重复的电子邮件:Javascript
我试图从发送到电子邮件的谷歌表单中获取值,并更新单元格中的值。这很有效 但是,当我再次运行代码时,它会从初始行中选择值已更新为3的行(以避免重复电子邮件) 我希望它忽略之前发送的行,只选择列41未设置为3的行。我在这里做错了什么如何避免在更新单元格中的值后发送重复的电子邮件:Javascript,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我试图从发送到电子邮件的谷歌表单中获取值,并更新单元格中的值。这很有效 但是,当我再次运行代码时,它会从初始行中选择值已更新为3的行(以避免重复电子邮件) 我希望它忽略之前发送的行,只选择列41未设置为3的行。我在这里做错了什么 function sendEmails() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var sheet = Spreadsheet
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
for (var i = 1; i < data.length; ++i) {
var rowData = data[i];
var sender = rowData[1];
var name = rowData[2];
var client = rowData[3];
var sdate = rowData[4];
var edate = rowData[5];
var loe = rowData[7];
var emailSent = rowData[41];
var emailAddress = 'test@example.com';
var message = 'Email:' + sender + ',\n\n' + name + ' ' + client + ',\n\n' + sdate + ',\n\n' + edate + ',\n\n' + loe;
var subject = 'Alert- New Project';
if (emailSent !== '3' && MailApp.getRemainingDailyQuota()>0 && emailAddress && subject && message) {
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(i+1, 41).setValue('3');
}
}
}
函数sendEmails(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var sheet=SpreadsheetApp.getActiveSheet();
var dataRange=sheet.getDataRange();
var data=dataRange.getValues();
对于(变量i=1;i function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
for (var i = 1; i < data.length; ++i) {//this skips the first row in the data array which is often a header.
var rowData = data[i];
var sender = rowData[1];//column2
var name = rowData[2];//column3
var client = rowData[3];//column4
var sdate = rowData[4];//column5
var edate = rowData[5];//column6
var loe = rowData[7];//column8
var emailSent = rowData[40];//Changed this from 41 to 40.Array index 41 is column 42
var emailAddress = 'test@example.com';
var message = 'Email:' + sender + ',\n\n' + name + ' ' + client + ',\n\n' + sdate + ',\n\n' + edate + ',\n\n' + loe;
var subject = 'Alert- New Project';
if (emailSent !== '3' && MailApp.getRemainingDailyQuota()>0 && emailAddress && subject && message) {
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(i+1, 41).setValue('3');//the 41 is a column index not an array index
}
}
}
函数sendEmails(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var dataRange=sheet.getDataRange();
var data=dataRange.getValues();
对于(var i=1;i尝试添加
Logger.log(emailSent的类型)定义var emailSent
后,将代码>添加到您的代码中。这会在您的日志中返回什么?日志可以在查看>日志中找到。非常感谢,@ross。我真的让它起作用了。