在编写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();
}
答案 0 :(得分:1)
你不需要GoTo,大多数人会认为使用它是一种糟糕的编程习惯,即使它存在。使用其他控制结构将完成这项工作。
if() {
} else if() {
} else {
}
for(;;) {
continue;
break;
}
while() {
}
do {
} while();
switch() {
case:
default:
}
// for errors
throw "Error string"
try {
} catch(error) {
}
你必须稍微改变你的逻辑,但结果是更好的可维护代码。