J'essaie de modifier mon code de manière à pouvoir envoyer un e-mail en fonction des valeurs d'une ligne spécifiée. Problème: plusieurs personnes utiliseront cette feuille en même temps lors des ventes et le script appelle pour envoyer un e-mail avec un ensemble de lignes ne contenant pas la valeur 'if' de email_sent. je voudrais insérer une ligne ou quelque chose qui enverra seulement l'email des rangées qui ont tous les critères remplis. Je voudrais également protéger les cellules APRÈS qu'elles soient envoyées de sorte qu'elles ne puissent pas être éditées ou supprimées par erreur. Enfin, je voudrais que les utilisateurs sans comptes google puissent déclencher le script.Envoi d'e-mails via des feuilles Google avec la ligne entièrement terminée
`// This constant is written in column L for rows for which an email
`// has been sent successfully.`
`var EMAIL_SENT = "EMAIL_SENT";`
`function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:K2
var dataRange = sheet.getRange(2,1,3,12)
// 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[0]; // First column
var message = Utilities.formatDate(row[1], "GMT" , "MM/dd/yyyy");
var message1 = row[2]; // third column
var message2 = row[3];
var message3 = row[4];
var message4 = row[5];
var message5 = row[6];
var message6 = row[7];
var message7 = row[8];
var message8 = row[9];
var message9 = Utilities.formatDate(row[10], "GMT" , "MM/dd/yyyy");
var emailSent = row[12]; // 12th column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, "\nSale date: " + message + "\nCustomer: " + message1 + "\nJob: " + message2 + "\nLender: " + message3 + "\nAged inventory: " + message4 + "\nreplacing CAN: " + message5 + "\nChange option: " + message6 + "\nSource: " + message7 + "\nRealtor: " + message8 + "\nClosing: " + message9);
sheet.getRange(startRow + i, 12).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}`
Toute aide serait grandement appréciée! –