m0nstar
Goto Top

Inputbox abbrechen mit wsh

Hallo,

ich versuche die ganze zeit, das wenn der user auf Abbrechen klickt das es auch schließt und bei keiner Eingabe das der Vorgang wiederholt wird. Hätte da einer eine Idee??

Das wäre meine Inputbox,

	rechnernummer = CStr(InputBox("Rechnernummer bitte ohne Domain eingeben:" & Chr(13) & CHr(13) & "", msgTitel, "Rechnername eingeben (ohne Backlashe)"))  

	if rechnernummer = cancel Then
		wscript.quit
	End if

	if rechnernummer = "" Then  
		MsgBox "Sie haben leider keine Rechnernummer eingegeben."& Chr(13) & CHr(13) &"Klicken Sie auf - OK - und wiederholen Sie diesen Vorgang!",,msgTitel  
		rechnernummer = CStr(InputBox("Rechnernummer bitte ohne Domain eingeben:" & Chr(13) & CHr(13) & "", msgTitel, "Rechnername eingeben (ohne Backlashe)"))  
	End if

Würde mich sehr über eine weitere Hilfe freuen.

Gruß,
m0nstar

Content-ID: 120963

Url: https://administrator.de/forum/inputbox-abbrechen-mit-wsh-120963.html

Ausgedruckt am: 23.12.2024 um 08:12 Uhr

76109
76109 21.07.2009 um 18:23:41 Uhr
Goto Top
Hallo m0nstar!

Wenn in der Input-Box Abbrechen oder Schließen betätigt wird oder Leer und OK, dann gibt die Input-Box einen Leerstring zurück ("").

Gruß Dieter
bastla
bastla 21.07.2009 um 21:32:41 Uhr
Goto Top
Hallo m0nstar!

Wie didi1954 schon erklärt hat, lässt sich nicht unterscheiden, ob "Abbrechen" gewählt oder einfach ein Leerstring eingegeben wurde - um allerdings ein irrtümliches "Enter" bzw einem vorzeitigen Klick auf "OK" zu erkennen, kannst Du einfach der InputBox einen Defaultwert mitgeben (was Du ja offensichtlich ohnehin vorhattest) und die Eingabe darauf hin untersuchen, also etwa:
Default = "Rechnername eingeben (ohne Backlashes)"  
Do
    OK = True
    
    rechnernummer = InputBox("Rechnernummer bitte ohne Domain eingeben:" & Chr(13) & CHr(13), msgTitel, Default)  

    if rechnernummer = "" Then  
	    wscript.quit
    End if

    if InStr(rechnernummer, Default) > 0 Then
	    MsgBox "Sie haben leider keine Rechnernummer eingegeben."& Chr(13) & CHr(13) &"Klicken Sie auf - OK - und wiederholen Sie diesen Vorgang!",,msgTitel  
        OK = False
    End if
    
Loop Until OK
WScript.Echo rechnernummer
Die Konstruktion mit dem Schalter "OK" erlaubt Dir, ggf noch weitere Ausschlussbedingungen zu formulieren (dann jeweils wieder "OK" auf "False" setzen - "True" darf nur am Beginn der Schleife vergeben werden).

Grüße
bastla
bastla
bastla 22.07.2009 um 10:35:54 Uhr
Goto Top
Als Ergänzung (aufgrund der per PM gestellten Zusatzfrage, wie ein irrtümliches Beenden durch eine Rückfrage verhindert werden kann):

Ersetze die Zeilen 7 bis 9 durch
if rechnernummer = "" Then  
    OK = False
    Answer = MsgBox("Wollen Sie wirklich das Programm beenden?", VbYesNo, "Programm beenden?")  
    if not Answer = vbNo Then wscript.quit
End if
Hier wird die MsgBox als Function verwendet und liefert daher einen Rückgabewert, der ausgewertet werden kann. Wenn "Nein" gewählt wurde, sorgt der oben schon erwähnte Schalter "OK" dafür, dass die Eingabe wiederholt werden kann.

Grüße
bastla
76109
76109 22.07.2009 um 11:11:59 Uhr
Goto Top
Hallo bastla!

Zitat von @bastla:
Als Ergänzung (aufgrund der per PM gestellten Zusatzfrage, wie
ein irrtümliches Beenden durch eine Rückfrage verhindert
werden kann):
Dann doch eher die andere Variante?

Wenn Str = Vorgabe-Str, Dann MsgBox, Sonst abbrechen

Ich persönlich bin ziemlich genervt , wenn ich z.B. auf Abbrechen oder Schließen klicke und dann nochmal gefragt werde, ob ich denn nun auch wirklich abbrechen möchteface-smile

Aber, das ist wohl Ansichtssache!

Dein Urlaub war aber kurzface-smile

Gruß Dieter
bastla
bastla 22.07.2009 um 11:20:14 Uhr
Goto Top
@76109
Ich persönlich bin ziemlich genervt , wenn ich z.B. auf Abbrechen oder Schließen klicke und dann nochmal gefragt werde, ob ich denn nun auch wirklich abbrechen möchteface-smile
Da bin ich völlig bei Dir (Rückfragen der Art "Wollen Sie tatsächlich dieses Super-Duper-Über-Drüber-Programm ohne Angabe eines Entschuldigungsgrundes jetzt schon beenden?" stören mich auch sehr) - war aber so gewünscht ...

Dein Urlaub war aber kurzface-smile
'Tschuldigung, dass ich schon wieder da bin ... face-wink

Grüße
bastla
76109
76109 22.07.2009 um 11:28:14 Uhr
Goto Top
Zitat von @bastla:
'Tschuldigung, dass ich schon wieder da bin ... face-wink
Dafür musst Du Dich doch nicht entschuldigenface-smile

Einige Mitglieder haben Dich schon vermisst und ich freue mich auch, dass Du wieder da bist.

Gruß Dieter

PS face-devilish
bastla
bastla 22.07.2009 um 11:33:36 Uhr
Goto Top
Einige Mietglieder haben Dich schon vermisst
Biber würde da vermutlich eine Schweinerei herauslesen (oder zumindest nach dem Vermieter fragen) face-devilish ...

... aber ich freu' mich einfach mit ... face-smile

Grüße
bastla