Kann ich mit einer VBS Datei und einer MSGBox Befehle ausführen je nachdem ob man in der Anwendung auf ja oder nein drückt?
Ich möchte eine VBS Datei erstellen die ein Fenster mit einer Frage öffnet und die möglichkeiten "Yes" und "No" bietet. Kann man das wie If abfragen nutzen?
2 Antworten
Warum versuchst Du noch mit VBScript zu arbeiten?
Die Sprache wird seit 2009 nicht mehr weiterentwickelt und wurde im September 2023 endgültig für tot erklärt. https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features-resources#vbscript).
die Lösung zu Deiner Frage ist Trivial
Demo.vbs
AntwortVariable = MsgBox ("Fragetext" , vbYesNo + vbQuestion, "BoxTitel")
'jetzt wird der Rückgabewert in der Variable ausgewertet...
If AntwortVariable = 6 Then
WScript.Echo "An Stelle eines Befehls/Befehlsfolge... wird ausgefuhrt"
Else 'es bleibt in diesem Fall ja nur der Wert 7 für "No" , den muss man nicht mehr explitit vergleichen
WScript.Echo """No"" gedrueckt"
End If
Sei kein Leichenfledderer und las VBScript in frieden ruhen!
Windows verfügt über eine moderne und extrem leistungsfähige ScriptSprache... Powerschell.
demo.ps1
Add-Type -a System.Windows.Forms # "Forms" einbinden
$Antwort = [System.Windows.Forms.MessageBox]::Show('Moechtest Du was machen?', 'Frage', 'YesNo', 'Exclamation')
if ($Antwort -eq 'Yes') {
#Was immer getan werden soll hierrein
Write-Host 'Du hast "Yes" geantwortet' -fo green
}
else {
Write-Host 'Du hast "No" geantwortet' -fo red
}
pause
Powershell hat keine eigene MessageBox. (Warum auch? Powershell arbeitet mit den selben Resourcen wie C#)
- https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.messagebox?view=windowsdesktop-8.0
Abgesehen von einer geringfügig anderen Syntax, ist Powerschell sogar bequemer zu handhaben. Statt sich mit den langen Bezeichnern herumzuschlagen, kann man einfach einen String übergeben oder die passende Nummer, Powershell macht dann selber das Passende draus)
Add-Type -a System.Windows.Forms
#So sähe es vollständig aus
[System.Windows.Forms.MessageBox]::Show('Text', 'Title', [System.Windows.Forms.MessageBoxButtons]::YesNO, [System.Windows.Forms.MessageBoxIcon]::Exclamation) # da bekommt man Fingerkrämpfe
#kürzen
$MsgB=[System.Windows.Forms.MessageBox] #wenn ein Objectaufruf öfter gebraucht wird einfach ne Variable definieren
$MsgB::Show('Text' ,'Title' , 'YesNo', 'Exclamation')
$MsgB::Show('Text' ,'Title' , 4, 48)
Siehe, das Nekrodokumonikon (Die Dokumentation der toten Sprachen): https://documentation.help/MS-Office-VBScript/VBSTOC.htm ^^
Man kann wohl eine If-Abfrage mit MessageBox kombinieren.
Ein Beispiel dazu findest du hier:
https://www.ibm.com/support/pages/how-display-yes-and-no-buttons-message-box-using-vbscript
Dann mach ich hier mal den Nekromanten ^^: