dポイントプレゼントキャンペーン実施中!

VBSの実行中に、プログラムを先頭から再試行させるにはどうしたらいいですか?

2重起動ではなく、あくまでプログラム自身のリスタートです。


処理 A

num = msgbox ("プログラムの再試行",5)
if num = 4 then '再試行が押されたなら
リスタート
else 'キャンセルなら
WScript.Quit
end if

処理 B


上記の「リスタート」の部分の記述をお願いします。

A 回答 (2件)

これでどうでしょう。


ただし、メモリ使用量が酷いことになっても責任はとれませんがw


Call RestartTest

Sub RestartTest()
 Dim num

 ' 処理Aをここに挿入

 num = msgbox ("プログラムの再試行",5)
 if num = 4 then
  Call RestartTest
  WScript.Quit
 End If

 ' 処理Bをここに挿入
End Sub
    • good
    • 0

全体をループで括って


リスタートする必要がある時にループの継続条件をTRUEにする

' ---
num = 0
Do While num = 4

 処理A

 num = msgbox ("プログラムの再試行",5)

Loop

処理B
'---

質問のコードだと再試行以外の時にスクリプト終了しちゃうから処理Bが実行されない気がするが。

この回答への補足

回答有り難うございます。

プログラム全体を入れ子にすると出来ますね。

ただこの分岐場面が複数箇所であった場合は、かなり乱雑なプログラムになってしまいます。

命令文で、「プログラムの先頭から再実行」的な物は出来ないでしょうか?

(WScript.Quit は無視して下さい。)

補足日時:2011/10/11 18:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!