J'essaye d'écrire un script qui enverra des emails spécifiques selon que quelqu'un soumet une nouvelle réponse ou édite sa réponse existante. J'ai besoin de la ligne d'objet pour lire "Prénom Nom: Modifier" ou "Prénom Nom: Réponse" en fonction de ce qui a été soumis. Si quelqu'un modifie sa réponse, seules les valeurs qui ont été modifiées apparaissent dans l'e-mail; Toutefois, s'ils ne changent pas de nom, ils n'apparaissent pas dans la ligne d'objet. Des idées sur la façon de changer cela afin qu'il montre leur nom chaque fois qu'il y a une modification ou une réponse? Merci d'avance!Notification par e-mail Google Forms lors de la mise à jour
function Initialize() {
try {
var triggers = ScriptApp.getProjectTriggers();
for (var i in triggers)
ScriptApp.deleteTrigger(triggers[i]);
ScriptApp.newTrigger("formSubmitted")
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit().create();
} catch (error) {
throw new Error("Please add this code in the Google Spreadsheet");
}
}
function formSubmitted(e) {
if (!e) {
throw new Error("Please go the Run menu and choose Initialize");
}
try {
if (MailApp.getRemainingDailyQuota() > 0) {
// You may replace this with another email address
var email = "my email";
// Enter your subject for Google Form email notifications
var key, entry,
ss = SpreadsheetApp.getActiveSheet(),
cols = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0],
message = "",
first = e.values[1],
last = e.values[2];
var editSubject = first + " " + last +": Edit";
var submitSubject = first + " " + last + ": Submitted";
// Iterate through the Form Fields
for (var keys in cols) {
key = cols[keys];
entry = e.namedValues[key] ? e.namedValues[key].toString() : "";
// Only include form fields that are not blank
if ((entry !== "") && (entry.replace(/,/g, "") !== ""))
message += key + ' :: ' + entry + "\n\n";
}
}
if (e.range.getNotes()[0].join('')) {
MailApp.sendEmail(email, editSubject, message);
}
else {
MailApp.sendEmail(email, submitSubject, message);
}
}
catch (error) {
Logger.log(error.toString());
}
}