4 Stimmen

Äquivalent von "GoTo" in Google Apps Script (entsprechend VBA-GAS)

Beim Schreiben meiner VBA-Makros habe ich oft "GoTo" verwendet, um zu einem früheren Teil des Makros zu springen, ohne das Sub zu verlassen. Jetzt, da ich alle meine Makros in Google Apps Script umwandle, suche ich nach dem Äquivalent für "GoTo".

Sub MySub()
Dim sheetname1 As String
Dim sheetname2 As String
On Error GoTo Err
       sheetname1 = ActiveSheet.Name
           Sheets.Add After:=Sheets(Sheets.Count)
           ActiveSheet.Name = "passwords"
       sheetname2 = ActiveSheet.Name
GoTo aftererr
Err:
MsgBox Error(Err)
Exit Sub
aftererr:

Dies ist nur ein Beispiel für meine Verwendung von GoTo. Ich brauche es jedoch für meine neuen Skripte auf viele andere Arten; nicht nur zum Umleiten von Fehlern. Zum Beispiel:

 function MyFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sh = ss.getActiveSheet();
 if(criteraA == criteraB){
 sh.offset(1,0).activate();
 var i=i + 1;
 //?? GoTo ??
 }else{
 var i=0;
 sh.getRange(row, column)(1,sr.offset(0,1).getColumn()).activate();
 }

4voto

Louis Ricci Punkte 20310

Sie brauchen kein GoTo, die meisten Leute würden argumentieren, dass es schlechte Programmierpraxis ist, es auch dann zu verwenden, wenn es vorhanden ist. Die Verwendung anderer Steuerstrukturen erledigt den Job.

if() {
} else if() {
} else {
}

for(;;) {
   continue;
   break;
}

while() {
}

do {
} while();

switch() {
case:
default:
}

// für Fehler
throw "Fehlermeldung"

try {
} catch(error) {
}

Sie müssen Ihre Logik etwas umstellen, aber das Ergebnis wird besser lesbaren Code bringen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X