EMail bei Ergebnis - (keine) EMail bei keinem Ergebnis
Hallo zusammen,
Hier geht es um eine Spindregistrierung zu An- und Abmelden über ein QR-Code. Die Daten werden dann über Formulare in eine Tabelle eingefügt und verglichen (Zählen-wenn-Funktion / Bild 1). Dadurch wird festgestellt, ob der Spind belegt oder frei ist (Beispiel: Spind 001 wurde 2x eingebucht und 1x ausgebucht-bedeutet er ist belegt (Bild 2). Bei gleichen Zahlen ist er frei.) Ich möchte durch die Kontrolle verhindern, dass jemand sich einbucht, ohne dass man merkt, dass sich der andere vorher nicht ausgebucht hat. Daher darf die Toleranz nicht höher sein als 1). Wenn die Toleranz überschritten wurde, heißt dass, dass sich jemand wahrscheinlich nicht ausgebucht hat. Das kann ich dann anhand des Formulars sehen, wer sich nicht ordnungsgemäß ausgebucht hat. Ich hoffe ihr versteht!
Im folgenden Code soll die Kontrolle auf Toleranz eine EMail senden, wenn etwas gefunden wurde, was außerhalb der Toleranz ist.
Problem: Es wird mir auch eine EMail geschickt, wenn nichts gefunden wurde. Es soll aber nur eine EMail kommen, wenn etwas gefunden wurde.
EMail, wenn etwas gefunden wurde --> Bild 3 mit Beispieltext
EMail, wenn nicht gefunden wurde --> Bild 4 mit Beispieltext
Ich bin Anfänger und hab schon vieles versucht, doch leider keine Lösung gefunden.
Hier geht es um eine Spindregistrierung zu An- und Abmelden über ein QR-Code. Die Daten werden dann über Formulare in eine Tabelle eingefügt und verglichen (Zählen-wenn-Funktion / Bild 1). Dadurch wird festgestellt, ob der Spind belegt oder frei ist (Beispiel: Spind 001 wurde 2x eingebucht und 1x ausgebucht-bedeutet er ist belegt (Bild 2). Bei gleichen Zahlen ist er frei.) Ich möchte durch die Kontrolle verhindern, dass jemand sich einbucht, ohne dass man merkt, dass sich der andere vorher nicht ausgebucht hat. Daher darf die Toleranz nicht höher sein als 1). Wenn die Toleranz überschritten wurde, heißt dass, dass sich jemand wahrscheinlich nicht ausgebucht hat. Das kann ich dann anhand des Formulars sehen, wer sich nicht ordnungsgemäß ausgebucht hat. Ich hoffe ihr versteht!
Im folgenden Code soll die Kontrolle auf Toleranz eine EMail senden, wenn etwas gefunden wurde, was außerhalb der Toleranz ist.
Problem: Es wird mir auch eine EMail geschickt, wenn nichts gefunden wurde. Es soll aber nur eine EMail kommen, wenn etwas gefunden wurde.
EMail, wenn etwas gefunden wurde --> Bild 3 mit Beispieltext
EMail, wenn nicht gefunden wurde --> Bild 4 mit Beispieltext
Ich bin Anfänger und hab schon vieles versucht, doch leider keine Lösung gefunden.
function vergleicheUndSendeHTMLEmail() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CheckIn/Out D+H H245 1.OG');
var lastRow = sheet.getLastRow();
var htmlBody = "<ul>";
// Toleranzwert für die Differenz
var toleranz = 1;
for (var row = 4; row <= lastRow; row++) {
var spalten = [3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31];
var isValid = false;
for (var i = 0; i < spalten.length; i += 2) {
var wertAktuell = sheet.getRange(row, spalten[i]).getValue();
var wertNaechst = sheet.getRange(row, spalten[i + 1]).getValue();
var differenz = Math.abs(wertAktuell - wertNaechst);
if (differenz > toleranz) {
isValid = true;
break;
}
}
if (isValid) {
htmlBody += "<li>In Zeile " + row + " ist mindestens eine Differenz außerhalb des erlaubten Bereichs.</li>";
}
}
htmlBody += "</ul>";
if (htmlBody !== "") {
// Hier den Code für das Senden einer HTML-E-Mail einfügen
MailApp.sendEmail({
to: 'ziel@abc.de',
subject: 'Spinde D+H H245 1.OG',
htmlBody: htmlBody
});
Logger.log("HTML-E-Mail wurde gesendet.");
} else {
Logger.log("Keine Differenzen außerhalb des erlaubten Bereichs gefunden. Keine E-Mail gesendet.");
}
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83940315541
Url: https://administrator.de/contentid/83940315541
Ausgedruckt am: 24.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
Leg dir einfach ein bool Variable dafür an die du setzt sobald etwas gefunden wurde und die du dann am Ende in der IF-Abfrage prüfst.
pj
function vergleicheUndSendeHTMLEmail() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CheckIn/Out D+H H245 1.OG');
var lastRow = sheet.getLastRow();
// changes to true if there are differences
var hasDifferences = false;
var htmlBody = "<ul>";
// Toleranzwert für die Differenz
var toleranz = 1;
for (var row = 4; row <= lastRow; row++) {
var spalten = [3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31];
var isValid = false;
for (var i = 0; i < spalten.length; i += 2) {
var wertAktuell = sheet.getRange(row, spalten[i]).getValue();
var wertNaechst = sheet.getRange(row, spalten[i + 1]).getValue();
var differenz = Math.abs(wertAktuell - wertNaechst);
if (differenz > toleranz) {
isValid = true;
hasDifferences = true;
break;
}
}
if (isValid) {
htmlBody += "<li>In Zeile " + row + " ist mindestens eine Differenz außerhalb des erlaubten Bereichs.</li>";
}
}
htmlBody += "</ul>";
if (hasDifferences) {
// Hier den Code für das Senden einer HTML-E-Mail einfügen
MailApp.sendEmail({
to: 'ziel@abc.de',
subject: 'Spinde D+H H245 1.OG',
htmlBody: htmlBody
});
Logger.log("HTML-E-Mail wurde gesendet.");
} else {
Logger.log("Keine Differenzen außerhalb des erlaubten Bereichs gefunden. Keine E-Mail gesendet.");
}
}