私は現在、私が作ったいくつかのVBスクリプトのための簡単な愚かなUI(ユーザーインターフェイス)を作っています。私はちょうどそれが最初にユーザーの名前を尋ねる部分を追加しました。私の問題は、この "戻る"オプションを使用して以前の "タブ"に行くたびにあなたの名前を聞いて再実行することです。私はそれを動作させるためにさまざまな方法を探しましたが、できません。私はループ/出口のものが動作するのを見つけることができません。私は名前のスクリプトを別々にして、最初から実行するようにしました。そして、あなたが戻ってくると、それはメインのスクリプトに行きます。しかし、それは、変数値を持たないので、2番目のスクリプトで名前を知らないことになります。ここにスクリプトがあります!Go To Toとは何か?
Dim Input
Dim Input1
Dim Input2
Dim Input3
Dim InputName
InputName = Inputbox("Please Enter Your Name", "Name")
Input = Inputbox("Weclome " & InputName & "" & vbNewLine & "Choose One Of The Options!" & vbNewLine & "" & vbNewLine & "Information" & vbNewLine & "Cool" & vbNewLine & "Hacks" & vbNewLine & "Quit", "Solus")
If Input = "Information" Then
Input1 = Inputbox("Here's The Information!" & vbNewLine & "" & vbNewLine & "Info" & vbNewLine & "Speech" & vbNewLine & "Back" & vbNewLine & "Quit", "Information")
If Input1 = "Info" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Information\Info.txt"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input1 = "Speech" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Information\Speech.vbs"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input1 = "Back" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input1 = "Quit" Then
Wscript.Quit
Else
msgbox("Please Enter One Of The Options Next Time!")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
End If
ElseIf Input = "Cool" Then
Input2 = Inputbox("Here's Some Scripts!" & vbNewLine & "" & vbNewLine & "Abracadabra" & vbNewLine & "Calculator" & vbNewLine & "Matrix" & vbNewLine & "Back" & vbNewLine & "Quit", "Cool")
If Input2 = "Abracadabra" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Cool\Abracadabra.vbs"
ElseIf Input2 = "Calculator" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Cool\Calculator.vbs"
ElseIf Input2 = "Matrix" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Cool\Matrix.bat"
ElseIf Input2 = "Back" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input2 = "Quit" Then
Wscript.Quit
Else
msgbox("Please Enter One Of The Options Next Time!")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
End If
ElseIf Input = "Hacks" Then
Input3 = Inputbox("Here's Some Hacks!" & vbNewLine & "" & vbNewLine & "Failure" & vbNewLine & "Haxs" & vbNewLine & "Rekt" & vbNewLine & "Spam" & vbNewLine & "TheOnly" & vbNewLine & "Back" & vbNewLine & "Quit", "Hacks")
If Input3 = "Failure" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Hacks\Failure.vbs"
Set Wsh Shell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "Hacks" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Hacks\Haxs.vbs"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "Rekt" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Hacks\Rekt.vbs"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "Back" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "Spam" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Hacks\Spam.bat"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "TheOnly" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
ElseIf Input3 = "Quit" Then
Wscript.Quit
Else
msgbox("Please Enter One Of The Options Next Time!")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
End If
ElseIf Input = "Quit" Then
Wscript.Quit
Else
msgbox("Please Enter One Of The Options Next Time!")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\Owner\Desktop\Solus\Solus.vbs"
End If
「戻る」オプションをどのように動作させるかは、プログラムを最初に再起動することです。メインスクリプトに「戻る」を追加すると、最初に実行され、戻ってくるたびに実行されます。私はそれができません。そして、もし私が名前の部分を分けて、それが走らないようにすると、メインスクリプトは名前変数を失い、それを使うことができず、役に立たないでしょう。私はいくつかの間違いをした場合、私はここに新しいです。 ありがとうございます! BTH
このコードでは、実際には空白、インデント、およびコメントを使用できます。コードの壁を理解することは非常に難しいです。 – JNevill
@JNevill、私はすでにインデントを世話しました。それはピアレビューされています。 –
それぞれの 'If'ステートメントに対して新しい' WScript.Shell'オブジェクトを作成しているのに気付きました。あなたが毎回それをしなければならない場合、それは条件の一部ではないので、あなたはそれを上に移動することができます。コードを実行するには 'Shell'オブジェクトが一つだけ必要です。第2に、多くの条件を評価する必要がある場合は、代わりに「ケース選択」を検討してください。最後に、Do..While ... Loopをコーディングするためのいくつかの調査を行います。残念ながら私はここに実際に答えを出すことができません。なぜなら、私はここに他のものが付いているからです。後で返事を受け取っていないなら、試してみましょう。 –