Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1296to1300
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Abbruch Shell

Abbruch Shell
06.02.2013 15:15:06
Mroszynski
Hallo
Ich habe folgenden Befehl:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "c:\Windows\Temp\MP3Update_Lame.BAT", 1, True
Set WsShell = Nothing
Wie kann ich feststellen, ob die ESC-Taste zum Abbruch gedrückt wurde?
Danke im Voraus
mfg Wolfgang

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abbruch Shell
07.02.2013 11:23:57
bst
Hi Wolfgang,
wenn die Batchdatei einen Errorlevel setzt nimm WshShell.Exec, dann kannst Du den via objExec.ExitCode auslesen.
Lösche unten ggf. stdout und stderr raus.
HTH, Bernd
--
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Function ShellAndWait(ByVal strCommand As String, ByRef strStdOut As String, ByRef strStdErr As  _
String) As Integer
Dim objShell As Object, objExec As Object
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec(strCommand)
Do While objExec.Status = 0
Sleep 100
Loop
strStdOut = objExec.StdOut.ReadAll
strStdErr = objExec.StdErr.ReadAll
ShellAndWait = objExec.ExitCode
Set objExec = Nothing
Set objShell = Nothing
End Function
Sub TestIt()
Dim strStdOut As String, strStdErr As String, intExitCode As Integer
intExitCode = ShellAndWait("net send bst hallo", strStdOut, strStdErr)
Debug.Print "ExitCode="; intExitCode
Debug.Print "StdOut  ="; strStdOut
Debug.Print "StdErr  ="; strStdErr
End Sub

Anzeige
AW: Abbruch Shell
08.02.2013 15:51:01
Mroszynski
Hallo
Ich habe die Routine wie folgt geändert:
intExitCode as long (sonst Überlauf)
Aufruf einer Bat-Datei
echo off
echo 3 = 104 - Alicia Keys - Girl On Fire.mp3
"D:\Programme\Lame398\Lame.exe" -b 112 "D:\Test1\MroszynskiZwi.MP3" "D:\Test2\MroszynskiZwi.MP3"
die Text-Ausgabe erfolgt nicht im CMD-Fenster
Lame bringt eine Meldung in stdErr und steht dann. Die Prozedur kann nur über X abgebrochen werden.
mfg Wolfgang

AW: Abbruch Shell
08.02.2013 17:28:13
bst
Hi,
der Echo sollte in strStdOut landen falls Lame ordentlich beendet wird.
Was passiert denn wenn Du das von einer Kommandozeile aus aufrufst?
Und, was meinst Du denn mit: "Die Prozedur kann nur über X abgebrochen werden." ?
Killst Du da das ganze Fenster mit der Schliessen-Button oben rechts?
cu, Bernd

Anzeige
AW: Abbruch Shell
08.02.2013 21:07:04
Mroszynski
Hallo
Ich meine das X rechts oben. Die Meldung in stdErr entspricht der ersten Ausgabe von Lame. Lame aktualisiert diese während des Programmablaufs. Ich habe zwei Minuten gewartet und die Werte standen alle noch auf Anfangswert. Lame läuft normalerweise 30 sec.
mfg Wolfgang

AW: Abbruch Shell
08.02.2013 22:49:12
Mroszynski
Hallo
Liefert der .RUN keinen exitCode?
Darunter läuft zumindest der Job.
Danke
mfg Wolfgang

Möglichkeit mit RUN gefunden,danke,owT
10.02.2013 15:15:46
Mroszynski
danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige