Ich habe versucht, ein VBS-Skript für eine Weile mit msgbox zu arbeiten. Wenn ich eine einzelne msgbox-Anweisung verwende, funktioniert es. Sobald ich bedingte Eingabeoptionen hinzufüge, funktioniert es nicht.Wie konfiguriere ich bedingte Aktionen mit Benutzereingaben in VBS mit MsgBox richtig?
Ich schrieb diese Frage auf Super User und ich wurde aufgefordert, die "Dim" -Anweisung zu verwenden, und auf dieser Website zu veröffentlichen, und ich habe beide jetzt getan. Hier ist ein Teil des Codes, den ich versuche, der funktioniert. (Bitte ignorieren Sie meinem Beispiel.)
Option Explicit
Dim vbsmsg, vbsyes, vbsno
vbsmsg=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")
Wenn ich den obigen Code über eine Verknüpfung ausführen bekomme ich einen Dialog wie folgt aus:
Aber wenn ich folgendes hinzufügen, erhalte ich einen Laufzeitfehler wenn "OK" oder "Abbrechen"
If vbsmsg=1 Then
vbsyes=MsgBox("The contents of your C: Drive could not be successfully deleted.", 0+64, "Error Formatting Drive C: - System Error 5")
If vbsmsg=2 Then
vbsno=MsgBox("Not all of the contents of your C: Drive were successfully deleted. Please try again.", 0+64, "Error Formatting Drive C: - System Error 303")
die Zeile/Zeichen in dem Fehler Klick zwischen dem "0" einem d "3" in "Systemfehler 303"
Ich habe schon eine Menge Fehlersuche versucht. Ich habe versucht, die Dim-Anweisung zu ändern, die Option explizit hinzuzufügen, 1 und 2 anstelle von 6 und 8 usw. zu verwenden ... nichts scheint zu funktionieren. Als ich den zweiten Teil auskommentiert habe, anstatt einen Fehler nach dem Ausführen der Datei zu bekommen, hat es mich einfach geschlossen. Ich bin sicher, dass meine ganze Syntax korrekt und im richtigen Format ist. Ich änderte 1 und 2 zu vbOK und vbCancel und als ich es zurück änderte, würde es überhaupt nicht funktionieren und gab mir sofort den Fehler auf dieser Seite.
Wenn jemand weiß, was mit meinen Beispielen falsch ist, würde ich es sehr schätzen. Ich bin ziemlich neu in der Arbeit mit VBS-Dateien, aber ich habe mit .bat-Dateien für eine lange Zeit gearbeitet und keiner dieser Prinzipien scheint hier zu arbeiten,
Ich würde jede Unterstützung schätzen, auch wenn es klein ist,
Wenn Sie eine If-Anweisung in mehr als einer Zeile schreiben, wie Sie, dann müssen Sie End If verwenden. Überprüfen Sie die [MSDN-Seite] (https://msdn.microsoft.com/en-us/library/5h27x7e9%28v=vs.84%29.aspx). –
Ich habe versucht, EndIf hinzuzufügen, es gab mir nur einen anderen Fehler – InterLinked
@HansPassant könnte '_' nach dem 'Then' verwendet haben, um die Notwendigkeit für 'End If' zu vermeiden. – Lankymart