onEdit einfache trigger scheint nie ausgelöst werden
Habe ich mit OnEdit
für einige Zeit, und es funktioniert Super - aber gerade jetzt, ich stieß auf ein problem - im Grunde, wenn Spalte 6 (f) bearbeitet wird, ich möchte es zu überprüfen, den Wert - wenn es "Im Gange" ich will es dann ausführen eine Funktion, um eine E-Mail senden, wenn ich Debuggen - es funktioniert Super genau wie ich es will, aber wenn ich nicht Debuggen, es scheint nie zu laufen.
var summary = ss.getSheetByName("Summary")
var data = summary.getRange(4, 1, summary.getLastRow(), summary.getLastColumn());
var learnerObjects = getRowsData(summary, data);
var lastrow = summary.getLastRow();
function onEdit(e){
var sheet = e.source.getActiveSheet();
var CellRow = sheet.getActiveRange().getRow();
var CellColumn = sheet.getActiveRange().getColumn();
if (sheet.getSheetName() == "Summary"){
if (CellColumn == 6){
var learner = learnerObjects[CellRow-4];
var status = learner.status;
if (status == "In Progress"){
var enrolmentdate = learner.enrolmentDateDdmmyyyy;
var surname = learner.surname;
var firstname = learner.firstName;
var qualification = learner.qualification;
var company = learner.company;
messagePT3 = firstname + " " + surname + " from " + company + " doing " + qualification + " has been added to your tracker.";
sendTrackerEmail(messagePT3);
SpreadsheetApp.getActiveSpreadsheet().toast('Email has been sent to Assessor regarding new learner', 'Assessor Notified', 3);
}
}
}
}
Dies ist der Haupt-code, beim Debuggen, da ich sagen, es funktioniert einwandfrei, jedoch wenn ich nicht Debuggen, es scheint nie ausgelöst werden, gibt es andere Möglichkeiten für mich, dies zu tun?
Ich habe Daten, die Validierung auf der Spalte F aber diese Grenzen, die die Zellen auf "Abgeschlossen", "Zurückgezogen", "Unterbrochen" oder "In Arbeit" - dies sollte eine Wirkung haben sollte?
Ich weiß, dass onEdit
wird ausgelöst, wenn ich es verwenden, für die überwachung von änderungen auf bestimmte Teile der Tabelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
onEdit()
Auslöser ist eine sogenannte "einfache trigger" mit einem begrenzten Handlungsfeld.Da läuft es automatisch und im hintergrund, die unter der Aufsicht der aktiven Benutzer Sie können nicht alles tun, dass eine Autorisierung benötigt wird, zum Beispiel kann es nicht E-Mails senden !
Die Lösung ist einfach : ändern Sie den Funktionsnamen, um etwas anderes (myOnEdit zum Beispiel) und legen Sie eine installierbare onEdit trigger zum ausführen dieser Funktion.(Menü-ressource/current script-trigger/erstelle einen neuen trigger im Skript-editor.)
Diese Uhrzeit ausgeführt werden soll als Sie ist (Sie werden das senden der E-Mails), wenn jemand bearbeitet das Arbeitsblatt.
Dokumentation zu diesem Thema ist hier erhältlich.