Ich habe eine Tabelle mit einem Skript, das eine andere Tabelle auf den Namen eines Kunden überprüft und den zugehörigen Kundencode zurückgibt. Es funktioniert gut, solange der Kundenname in der "CustomerCodes" -Blatt, die es verweist. Wenn der Kundenname dort nicht existiert, würde ich gerne den Variablenwert "customerCode" auf "Keine Übereinstimmung gefunden" setzen. Im Moment gibt es nur einen Fehler und führt das Skript nicht weiter aus. Hier ist der Code:Legen Sie einen anderen var-Wert fest, wenn die "for" -Schleife einen Fehler zurückgibt
var customerName = sheet.getRange('I2').getValue();
var ccsheet = ss.getSheetByName("CustomerCodes");
var lastRow = ccsheet.getLastRow();
Logger.log("lastRow: " + lastRow);
var lookUp = ccsheet.getRange(2, 1, lastRow, 3).getValues();
for (nn=0; nn<lookUp.length; ++nn) {
if (lookUp[nn][0] == customerName) {break}
}
//This is where I am having the trouble
var customerCode = lookUp[nn][1];
Logger.log("customerCode: " + customerCode);
Also, wenn die "für" Schleife eine Übereinstimmung findet, es setzen Sie die "customerCode" Variable in diesem Spiel. Wenn keine Übereinstimmung gefunden wird, möchte ich die Variable "customerCode" auf "Keine Übereinstimmung gefunden" setzen, damit der Benutzer weiß, warum der Code des Kunden nicht zurückgegeben wurde. Der Wert der Variablen "customerCode" wird dem Benutzer später in der Funktion zurückgegeben.
Ich verstehe Fehlerbehandlung nicht sehr gut, da ich wirklich neu in all dem bin, und ich konnte keine google apps Skriptdokumentation finden, die es gut erklärte. Vielen Dank für Ihre Hilfe!
Was ist der Fehler? – epascarello
Der Fehler, den ich erhalte, ist: "TypeError: Kann die Eigenschaft" 1 "von undefined (Zeile 32, ...) nicht lesen. Zeile 32 ist wo ich das // setze. Ich habe die Probleme. – JLBJones
I haven Ich hatte noch keine Chance, Ihre Lösung zu testen, aber es sieht so aus, als würde es funktionieren. Danke! – JLBJones