VBScriptでの関数(VBSのFunction プロシージャ)を途中で終了するには、戻り値の指定をするだけではなくExit Functionをしないといけないのね
戻り値の指定=cのreturnと同じと勘違い
それに気がつかず30分ははまった
以下その例です
そこの君、終了するにはiを100以上にしたらいいじゃんとかいわないように、これは説明簡略化しただけやからね一応........
常識といわれればそれまでですな
WScript.Echo "テスト開始"
WScript.Echo looptest() &"回ループしました。"
function looptest()
Dim i
i = 0
Do While i<100
if i <= 5 then
WScript.Echo i & "以上になったので終了します"
looptest = i
end if
i=i+1
Loop
WScript.Echo "先生!!、実は" & i & "回まわってます"
looptest = i
end function
テスト開始
5以上になったので終了します
先生!!、実は100回まわってます
100回ループしました。
WScript.Echo "テスト開始"
WScript.Echo looptest() &"回ループしました。"
function looptest()
Dim i
i = 0
Do While i<100
if i <= 5 then
WScript.Echo i & "終了します"
looptest = i
Exit Function
end if
i=i+1
Loop
WScript.Echo "先生!!、実は"& i & "回まわってます"
looptest = i
end function
テスト開始
5以上になったので終了します
5回ループしました。
※コメント投稿者のブログIDはブログ作成者のみに通知されます