Konsolenprogramm mit Shell-Befehl starten
Hallo!
Ich starte aus Excel ein Konsolenprogramm indem ich den Pfad und die Befehle in eine Zelle schreibe "C:\...\programm.exe [Befehle] "
und diese dann mit dem Shell-Befehl ausführe: Shell Tabelle1.Cells(5, 13), vbNormalFocus.
Das funktioniert auch einwandfrei, nun zum Problem:
Wenn ich die exe auf dem Konsolenfenster ausführe kann ich mit 2>>verlauf.txt den Verlauf der auf der Konsole ausgegeben wird speichern.
Wenn ich das gleiche mit in die Zelle schreibe: "C:\...\programm.exe [Befehle] 2>>verlauf.txt", funktioniert es aber nicht.
Ich habe leider nicht mehr Eigenschaften des Shell-Befehls gefunden. Kann mir da jemand einen Tipp geben?
Viele Grüße
Ich starte aus Excel ein Konsolenprogramm indem ich den Pfad und die Befehle in eine Zelle schreibe "C:\...\programm.exe [Befehle] "
und diese dann mit dem Shell-Befehl ausführe: Shell Tabelle1.Cells(5, 13), vbNormalFocus.
Das funktioniert auch einwandfrei, nun zum Problem:
Wenn ich die exe auf dem Konsolenfenster ausführe kann ich mit 2>>verlauf.txt den Verlauf der auf der Konsole ausgegeben wird speichern.
Wenn ich das gleiche mit in die Zelle schreibe: "C:\...\programm.exe [Befehle] 2>>verlauf.txt", funktioniert es aber nicht.
Ich habe leider nicht mehr Eigenschaften des Shell-Befehls gefunden. Kann mir da jemand einen Tipp geben?
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70683
Url: https://administrator.de/contentid/70683
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo lena123!
Vielleicht beschreibst Du etwas genauer, wie der Programmaufruf aussehen soll.
Grüße
bastla
Kann ich auch erst das Konsolenfenster öffnen und dann die "programm.exe" mit verschiedenen Befehlen ausführen? "cmd /K " sollte ja die Anwendung geöffnet lassen, ich bin mir nur nicht sicher wie ich dann wieder auf dieses Fenster zugreifen kann!
"cmd /K" könnte zwar bei der Fehlersuche helfen, da eben das "Shell"-Fenster geöffnet bleibt, aber ansonsten ist "cmd /c" schon ok.'C:\Documents' is not recognized as an internal or external command, operable program or batch file.
sieht nach fehlenden Anführungszeichen aus (gemeint war vermutlich "C:\Documents and Settings\...").Vielleicht beschreibst Du etwas genauer, wie der Programmaufruf aussehen soll.
Grüße
bastla
Hallo lena123!
Grüße
bastla
Was meinst Du mit fehlenden Anführungszeichen?
Einer der von Dir mit "C:\...\" angegebenen Pfade, zB jener zur Programmdatei selbst, enthält vermutlich ein Leerzeichen, und wenn dieser Pfad nicht durch Anführungszeichen "zusammengehalten" wird, interpretiert die CMD-Shell das Leerzeichen als Trennzeichen zwischen Programm und Optionen - daher also zur Sicherheit auch den Programmaufruf ("C:\...\programm.exe") unter Anführungszeichen setzen und den "Shell"-Befehl wie folgt ändern:Shell "cmd /k " & Chr(34) & Tabelle1.Cells(5, 13) & Chr(34), vbNormalFocus
Grüße
bastla