Bool Schleife einbauen
Hallo... Ich bin Programmieranfänger in JS und habe mit einem Kumpel einen Code geschrieben. Dieser soll aber nur ausgeführt werden bzw eine EMail senden, wenn er auch etwas gefunden hat. Aber das klappt nicht. Ich bekomme trotzdem eine Mail, obwohl er nichts findet! Mein Kumpel hat leider z.Zt. keine Zeit dafür und ich weiß nicht, wo oder wie die Schleife eingebaut werden kann. Ohne fremde Hilfe bekomme ich das noch nicht hin - leider! Ich danke für eure Unterstützung!
function EmailOrder() {
// Hier die Spreadsheet-ID, den Tabellennamen und die E-Mail-Adresse aktualisieren
var spreadsheetId = "xxx";
var sheetName = "xxx";
var recipientEmail = "xxx";
// Spreadsheet und Sheet öffnen
var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
var sheet = spreadsheet.getSheetByName(sheetName);
// Hier den gewünschten Bereich aktualisieren
var range = sheet.getDataRange();
// Daten und Formatierung aus dem Bereich erhalten
var values = range.getValues();
var fontColors = range.getFontColors();
// HTML-Nachricht zusammenstellen
var emailSubject = "xxx";
var emailBody = "<ul>";
// Überprüfen und Daten hinzufügen, wenn die Schriftfarbe vorhanden ist
for (var i = 0; i < values.length; i++) {
var cell1Color = fontColors[i][0];
var cell2Color = fontColors[i][1];
// Überprüfen, ob die Schriftfarbe in einer der beiden Zellen vorhanden ist
if ((cell1Color !== null && cell1Color !== '#000000') || (cell2Color !== null && cell2Color !== '#000000')) {
emailBody += "<li>" + values[i][0] + " | " + values[i][1] + "</li>";
if (i % 2 === 1) { // Nach jedem zweiten Ergebnis
emailBody += "";
}
}
}
emailBody += "</ul>";
// E-Mail senden
MailApp.sendEmail({
to: recipientEmail,
subject: emailSubject,
htmlBody: emailBody,
});
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82479249596
Url: https://administrator.de/contentid/82479249596
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
5 Kommentare
Neuester Kommentar
Wurde dir hier doch schon x mal mal gezeigt, wie oft denn noch?!
EMail bei Ergebnis - (keine) EMail bei keinem Ergebnis
Freitag. 🐟
EMail bei Ergebnis - (keine) EMail bei keinem Ergebnis
Freitag. 🐟
Zitat von @Poergen:
Habe ich darüber versucht - habe ich nicht hinbekommen, das auf diesen Code zu übertragen. Sorry, deshalb schreibe ich ja hier.
Habe ich darüber versucht - habe ich nicht hinbekommen, das auf diesen Code zu übertragen. Sorry, deshalb schreibe ich ja hier.
Den Unterschied in dem Beitrag von deinem und des Antwortenden kannst du aber schon lesen?! Du brauchst nur eine Variable erstellen die du auf "true" setzt wenn es mindestens eine Änderung gibt, und unten fragst du diese Variable ab. Auch Anfänger dürfen sich hier minimal anstrengen. Naja hat wohl bei dir offensichtlich keinen Zweck mehr ...🙄
function EmailOrder() {
// variable ob Mail gesendet werden soll oder nicht (wird in der Schleife auf true geändert wenn es etwas zutreffendes gab)
var sendMail = false;
// Hier die Spreadsheet-ID, den Tabellennamen und die E-Mail-Adresse aktualisieren
var spreadsheetId = "xxx";
var sheetName = "xxx";
var recipientEmail = "xxx";
// Spreadsheet und Sheet öffnen
var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
var sheet = spreadsheet.getSheetByName(sheetName);
// Hier den gewünschten Bereich aktualisieren
var range = sheet.getDataRange();
// Daten und Formatierung aus dem Bereich erhalten
var values = range.getValues();
var fontColors = range.getFontColors();
// HTML-Nachricht zusammenstellen
var emailSubject = "xxx";
var emailBody = "<ul>";
// Überprüfen und Daten hinzufügen, wenn die Schriftfarbe vorhanden ist
for (var i = 0; i < values.length; i++) {
var cell1Color = fontColors[i][0];
var cell2Color = fontColors[i][1];
// Überprüfen, ob die Schriftfarbe in einer der beiden Zellen vorhanden ist
if ((cell1Color !== null && cell1Color !== '#000000') || (cell2Color !== null && cell2Color !== '#000000')) {
emailBody += "<li>" + values[i][0] + " | " + values[i][1] + "</li>";
if (i % 2 === 1) { // Nach jedem zweiten Ergebnis
emailBody += "";
}
// es soll eine Mail gesendet werden
sendMail = true;
}
}
emailBody += "</ul>";
// wenn mail gesendet werden soll
if (sendMail){
// E-Mail senden
MailApp.sendEmail({
to: recipientEmail,
subject: emailSubject,
htmlBody: emailBody
});
}
}
Bleibt dann ja nur noch Wie kann ich einen Beitrag als gelöst markieren?
Moin,
wenn Du dauerhaft an etwas herumprogrammierst, solltest Du tatsächlich Eigeninitiative entwickeln und etwas lernen. Und so abgegrenzte Fragen lassen sich heutzutage auch bestens über Youtube erlernen, z.b. hier: Boolean-Einführung Javascript.
Gruß
DivideByZero
wenn Du dauerhaft an etwas herumprogrammierst, solltest Du tatsächlich Eigeninitiative entwickeln und etwas lernen. Und so abgegrenzte Fragen lassen sich heutzutage auch bestens über Youtube erlernen, z.b. hier: Boolean-Einführung Javascript.
Gruß
DivideByZero