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?

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#)

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)
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren