Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
836to840
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
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Batchdatei aufrufen - geht nicht ..

Batchdatei aufrufen - geht nicht ..
17.01.2007 16:32:04
Peter
Hallo
Irgendwie geht es schon wieder nicht, und zwar rufe ich auf :
zeigen = Shell(Pfad & "test.bat ", 3)
Warum geht so ein Aufruf nicht ?
Ich bitte um Hilfe.
Grüsse - Peter.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Batchdatei aufrufen - geht nicht ..
17.01.2007 17:06:32
IngGi
Hallo Peter,
sollte eigentlich gehen, wenn die Angabe in "Pfad" stimmt. Eine Idee hätte ich aber anzubieten. Wenn du den Pfad mit
Pfad = ThisWorkbook.Path
oder dergleichen ermittelst, dann fehlt der letzte "\". Dann sollte es natürlich heissen:
zeigen = Shell(Pfad & "\test.bat ", 3)
Gruß Ingolf
AW: Batchdatei aufrufen - geht nicht ..
17.01.2007 17:11:33
Peter
Danke Ingolf, das habe ich schon so gemacht.
Kann es sein, das 'Excel Shell' den Aufruf von Batchdateien nicht zulässt ?
Freudliche Grüsse - Peter.
AW: Batchdatei aufrufen - geht nicht ..
17.01.2007 17:29:04
IngGi
Hallo Peter,
nein! Batchdateien können so auf jeden Fall ausgeführt werden. Allerdings läuft das VBA-Makro während der Ausführung des Batches parallel weiter. Vielleicht gibt's damit Probleme.
Ich glaube auch aus diesem Forum hab ich mir mal folgenden Beitrag herauskopiert:
Hallo Uwe
Betreffend "Prozess beenden":
Ein Prozess lässt sich hervorragend mit dem offiziellen Windows-
Utility "Kill.exe" abschiessen. Die Datei "Kill.exe" befindet sich im
Windows-Verzeichnis. Falls sie nicht dort ist, kannst du sie von
der Windows-CD kopieren.
In VBA funktioniert der Aufruf problemlos mit
Shell "Kill.exe MeinProzess.exe"
wobei für 'MeinProzess.exe' der gewünschte Prozessname ein-
getragen wird. Es wird der Prozessname verwendet, wie er u.a.
im Windows Task-Manager angezeigt ist. Man kann anstelle des
Namens auch die Prozess-Id angeben (z.B. "Kill.exe 98"). Wenn
der Prozess sich weigert zu beenden, kann man den Parameter
'-f' mitgeben (steht für engl. "force"):
Shell "Kill.exe -f MeinProzess.exe"
Der Prozess wird dadurch 100 %-ig sofort gekillt, egal ob er
gerade läuft, hängt oder abgestürzt ist.
Weitere Infos findest du hier:
<a href="http://195.186.84.74/soscq/fragen.htm">http://195.186.84.74/soscq/fragen.htm</a>
(Frage Nr. 64 anklicken)
Betreffend "Programm starten":
Ich vermute, dass du dein DOS-Programm mit "Shell" startest.
Shell führt ein Programm immer asynchron aus, d.h. der auf
die Shell-Codezeile folgende VBA-Code wird ohne zu warten
weiter ausgeführt. Dieses "Problem" lässt sich einfach vermeiden,
indem man anstelle von Shell diese Anweisung verwendet:
CreateObject("WScript.Shell").Run "MeinProgramm.exe", 1
Das VBA-Programm läuft erst weiter, wenn "MeinProgramm.exe"
vollständig gestartet ist.
Soll das VBA-Programm warten, bis "MeinProgramm.exe" be-
endet ist, ist diese Codezeile zu verwenden:
CreateObject("WScript.Shell").Run "MeinProgramm.exe", 1, True
Wegen dem letzten mit "True" angegebenen Parameter läuft das
VBA-Programm erst weiter, wenn "MeinProgramm.exe" beendet
ist.
Gruss
Philipp von Wartburg
Gruß Ingolf
Anzeige
AW: Batchdatei aufrufen - geht nicht ..
17.01.2007 18:04:16
Peter
Danke viel Mal für Deine Geduld. Ich habe probiert :
CreateObject("WScript.Shell").Run Datei, 1
Wobei Datei der Ganze Pfad inkl. der Batchdatei ist.
Fehlermeldung : Die Methode 'Run' für das Objekt 'IWshShell3' ist fehlgeschlagen.
Grüsse - Peter.
So funktioniert's - Danke an alle !!
17.01.2007 18:23:55
Peter

Sub SortStart()
ChDrive "F"
ChDir "F:\99_Test"
a = Shell("SortBat.bat", 1)
End Sub

Danke an alle - Das ist sehr nett - Danke für die Geduld - Peter.
Anzeige

112 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige