相当于"GoTo"在谷歌应用程序脚本(相当于VBA-GAS)

Equivalent of "GoTo" in Google Apps Script (equivalent VBA-GAS )

本文关键字:相当于 quot VBA-GAS 脚本 GoTo 谷歌 应用程序      更新时间:2023-09-26

在编写我的VBA宏时,我经常使用"GoTo",以便在不离开Sub的情况下跳转到宏的前一部分。现在,我正在将所有宏转换为Google Apps Script,我正试图找到等效的"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:

这只是我使用GoTo的一个实例。然而,我需要它为我的新脚本在许多其他方面;不仅仅是重定向错误。例如:

 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();
 }

您不需要GoTo,大多数人会认为使用它是一种糟糕的编程实践,即使它存在。使用其他控制结构也可以。

if() {
} else if() {
} else {
}
for(;;) {
   continue;
   break;
}
while() {
}
do {
} while();
switch() {
case:
default:
}
// for errors
throw "Error string"
try {
} catch(error) {
}

您将不得不稍微改变一下您的逻辑,但它将产生更好的、更易于维护的代码。