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

Standard-Ausgabe

Standard-Ausgabe
28.03.2008 13:43:00
Christian
Wenn ich ein Kommandozeilenprogramm ausführe, bekomme ich eine Meldung auf die Standard-Ausgabe. Mir ists aber auch nach zig Versuchen nicht möglich diese Meldung abzufangen und in VBA auszuwerten!
(Ganz konkret gehts mir um eine MD5-Checksumme)
Habe versucht mit SHELL das Programm mit Parametern aufzurufen und die Ausgabe in eine Datei zu pipen. Aber das mit dem Umweg über die Datei ist sehr unelegant! Zudem muss ich eine Pause einbauen weil VBA nicht mit dem Programmablauf wartet bis das Programm beendet ist.
(MS-Hilfe: "[...] Die Shell-Funktion führt standardmäßig andere Programme asynchron aus. [...]")
Meine Frage ist nun: Wie kann ich eine Programm ausführen während mir die Ausgabe dieses Programmes in eine String-Variable geleitet wird? (Möglichst synchron und das Prog verkleinert/unsichtbar!)
Vielen Dank schon mal!!
Christian
PS: Unter Linux ist sowas gang und gebe ;-)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Standard-Ausgabe
28.03.2008 13:48:57
Renee
Hi Christian,
Vielleicht kannst du es auch ohne Shell mit dem hier machen.
GreetZ Renée

AW: Standard-Ausgabe
28.03.2008 13:54:00
Christian
Vielen Dank für die schnelle Antwort!
Klingt auch nicht schlecht, aber dann müsste ich den Inhalt einer Datei komplett in einen String laden um von einer Datei die MD5-Checksumme zu bekommen.. zumindest sehe ich in dem Code nur die Möglichkeit von einem String die Checksumme zu ziehen...
Universeller wäre natürlich die Nutzung eines externen Programmes wesentlich nützlicher... gibt ja ausser eines Checksummen-Generators noch andere nette Programme die man dann nutzen könnte.

Anzeige
AW: Standard-Ausgabe
28.03.2008 14:51:50
anton
Hallo Christian,
versuch's mal damit:

Sub Programm_ausfuehren_mit_Ausgabe_in_String()  
  Set objShell = CreateObject("WScript.Shell")  
  Set objExec = objShell.Exec("tasklist")  'Programm anpassen
  strResults = LCase(objExec.StdOut.ReadAll)  
  MsgBox strResults
End Sub  

mfg Anton

Anzeige
AW: Standard-Ausgabe
31.03.2008 13:37:51
Christian
Vielen Dank!! Das ist absolut 100% genau das was ich gesucht habe!!
Gibt es irgendwelche Dokumentationen oder Tutorials zu diesem Verfahren? Ich meine zu diesem "=CreateObject("WScript.Shell")" ? Alleine aus den MS-Dokus zu VBA wär ich da wahrscheinlich nichts drauf gekommen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige