相当于" GoTo"在Google Apps脚本中(等效的VBA-GAS)

时间:2013-06-17 18:05:39

标签: javascript excel-vba google-apps-script vba excel

在编写VBA宏时,我经常使用“GoTo”,以便在不离开Sub的情况下跳转到宏的前一部分。既然我正在将我的所有宏转换为Google Apps脚本,那么我正试图找到“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();
 }

1 个答案:

答案 0 :(得分:1)

你不需要GoTo,大多数人会认为使用它是一种糟糕的编程习惯,即使它存在。使用其他控制结构将完成这项工作。

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

for(;;) {
   continue;
   break;
}

while() {
}

do {
} while();

switch() {
case:
default:
}

// for errors
throw "Error string"

try {
} catch(error) {
}

你必须稍微改变你的逻辑,但结果是更好的可维护代码。