Я получил этот код из учебника Google Sheets, и он работает, я хочу отправить ответ по электронной почте после того, как мои коллеги заполнили форму Google. Электронная почта работает, поэтому первый шаг завершен, но он продолжает отправлять электронную почту, даже если я назначил ее, не отправляя дубликаты электронной почты. Мой лист выглядит следующим образом:
Time Stamp/Email Address/Message/Complete for columns A-D
date-time/test@email.com/ Test1/ EMAIL_SENT
date-time/ test@email.com/ Test2/ EMAIL_SENT
date-time/test@email.com/ Test3/ EMAIL_SENT
// This constant is written in column C for rows for which an email
// has been sent successfully.
var EMAIL_SENT = 'EMAIL_SENT';
/**
* Sends non-duplicate emails with data from the current spreadsheet.
*/
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 3; // Number of rows to process
// Fetch the range of cells B1:D3
var dataRange = sheet.getRange(startRow, 1, numRows, 3);
// 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[1]; // Second column
var message = row[2]; // Third column
var emailSent = row[3]; // Fourth column
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var subject = 'Your PFB Request';
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();
}
}
}