3

VBA マクロを作成するとき、Sub を離れずにマクロの前の部分にジャンプするために、「GoTo」をよく使用しました。すべてのマクロを 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 の使用例の 1 つにすぎません。ただし、他の多くの方法で新しいスクリプトに必要です。エラーをリダイレクトするためだけではありません。例えば:

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

1 に答える 1

4

GoTo は必要ありません。ほとんどの人は、GoTo が存在する場合でも使用するのはひどいプログラミング手法だと主張するでしょう。他の制御構造を使用すると、うまくいきます。

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

for(;;) {
   continue;
   break;
}

while() {
}

do {
} while();

switch() {
case:
default:
}

// for errors
throw "Error string"

try {
} catch(error) {
}

ロジックを少しシャッフルする必要がありますが、より保守しやすいコードになります。

于 2013-06-17T18:18:36.223 に答える