n00b Coder, 0 professionelle oder schulische Ausbildung verwendet werden, so habe Gnade.Mit Google Scripts, innerhalb einer "for" -Schleife und einer "if" -Anweisung, möchte ich den Index der Werte speichern, die später auf
Ich versuche, zwei Tabellenkalkulationen zu erstellen: eine verfolgt die Anwesenheit von Schülern in der Schule, die andere verfolgt ihre Teilnahme an der Übung. Das Ziel ist, eine Funktion zu schreiben, die ich als eine Schaltfläche einrichten kann, die ich anklicken kann, die automatisch E-Mails an mehrere Personen sendet, wenn der Schüler in der Schule anwesend ist, aber für Sport abwesend ist, ohne entschuldigt zu werden.
Im Moment funktioniert die ganze Sache ziemlich gut, aber ich habe ein Problem. Ich habe eine Spalte, die "Gut" oder "Schlecht" lesen wird, je nachdem, ob der Schüler die obige Bedingung erfüllt. Die Funktion wandelt diese in ein Array um. Ich möchte den Index der "Schlechten" verwenden, um die notwendigen E-Mail-Adressen zu finden, die am gleichen Indexpunkt in einem anderen Array gespeichert sind, das ich aus der Tabelle mache. Ich bin mir nicht sicher, wie dieser Indexpunkt gespeichert und verwendet wird, um auf die E-Mail-Adressen zu verweisen. Code unten.
function sendEmailsMonday() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("TrackAttendance");
var dataRange = sheet.getRange("D2:D30");
var data = dataRange.getValues();// Gets array of "Good" and "Bad"
for (i in data) {
if(i = "Bad") {
var place = data.indexOf(i);
var dataRange2 = sheet.getRange("M2:M30");// Gets array of email addresses
var data2 = dataRange2.getValues();
var emailAddress = data2[place];
var message = "This is an automated email informing you that your child/advisee ____ was present at school today, but missed Track without being excused. Feel free to email Mr. @ with any questions.";
var subject = "___ missed Track Practice";
MailApp.sendEmail(emailAddress, subject, message);
return;
}
}
}
So kommt das Problem mit den Indexzeilen. Wenn ich loswerden
var place = data.indexOf(i);
und ersetzen
var emailAddress = data[place];
mit
var emailAddress = data[28];
oder jeder anderen Zahl zu bekommen, wird die E-Mail-Adresse packen und versenden. Aber es hat nichts mit den Werten in der anderen Spalte zu tun.
Scheint wie dies eine einfache Lösung sein sollte, aber ich bin schlecht darin. Halbe.