Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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

Rückgabe von CMD Prog. ohne Fenster

Rückgabe von CMD Prog. ohne Fenster
20.01.2022 14:47:03
CMD
Hallo Leute,
Ich habe ein Kommandozeilen-Programm welches mir eine Rückgabe liefert.
Ziel ist, jede x-te Sekunde das Programm aufzurufen und den Rückgabewert zu verarbeiten.
Ich habe hier schon was gefunden was funktioniert. (Testweise mit ping)

Option Explicit
Sub GetProgOutput()
Dim objShell As Object, objExec As Object
Dim strStdout As String, intExitCode As Integer
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ping localhost")
strStdout = objExec.StdOut.ReadAll
intExitCode = objExec.ExitCode
Set objExec = Nothing
Set objShell = Nothing
MsgBox strStdout
End Sub 
Allerdings wird dabei jedes mal das Fenster der Anwendung geöffnet, was leider etwas nervig ist.
Gibt es eine Möglichkeit das "Aufpoppen" der Anwendung zu verhindern?
Schon mal vielen Dank für die hoffentlich rege Beteiligung :D

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

Betreff
Datum
Anwender
Anzeige
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 16:26:27
CMD
Hallo Robert,
hier ist ein Auszug aus einem Makro von mir, mit dem durch eine Shell-Anwendung Hashwerte berechnet werden. Dazu musste ich rausfinden, wie das Makro vor dem nächsten Aufruf zum Warten gebracht wird. In dem Zuge habe ich auch den "Unsichtbarkeitsparameter" mit angegeben. In den Kommentaren über der Programmzeile ist alles erklärt.

'Ermittelte Datei hashen und das Ergebnis in die Zwischenablage schreiben
'Der Parameter /c hinter cmd, sorgt dafür, dass die Konsole (cmd) geschlossen wird,
'wenn reHash beendet wurde
'(Es gibt alternativ den Parameter /k, der die Konsole offen lässt.
'Achtung: Hier nicht verwenden. Das Makro bleibt dann stehen)
'Durch den vorletzten Parameter 0, führt der Windows Scripting Host die Konsole 'unsichtbar aus
'(1 macht sie sichtbar, aber dann zuckt der Bildschirm während des Makrolaufs sehr unruhig)
'Durch den letzten Parameter True, wartet das Makro, bis der Windows Scripting Host die Konsole
'wieder beendet hat
'(Achtung: Bei False würde das Makro weiterlaufen und nicht warten, bis der aktuelle Hash-Wert
'berechnet wurde)
'Die Angabe | clip leitet die Ausgabe der Konsole von der Standardausgabe (Bildschirm) in die
'Zwischenablage um
WshShell.Run "cmd /c " & ReHashPfad & " " & ReHashParameter & " " & Chr(34) & _
GrundPfadZuDateienBestand & VariablerPfadRest & DateiNameBearbeit & _
Chr(34) & " | clip", 0, True
Viele Grüße,
Zwenn
Anzeige
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 16:40:50
CMD
Danke Sven,
jetzt bin ich schon ein wenig schlauer.
Jetzt ist nur noch die Frage, wie ich hier den Ausgabe-String abfange...
Kannst du mir da noch einen Tip geben?
LG Robert
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 17:00:06
CMD
Hallo Robert,
noch eine Alternative. (Leider sind die "ü" weg)
Code:

[Cc]

Sub GetProgOutput() Dim sFile As String sFile = Environ$("Temp") & "&bsol;MyPingData.txt" Shell "CMD /C ping localhost > " & sFile, 0 If Dir$(sFile) <> "" Then Open sFile For Input As #1 sData = Input(LOF(1), #1) Close #1 Kill sFile MsgBox sData End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 17:12:03
CMD
Hallo und Danke Karl-Heinz,
allerdings wollte ich den Weg über eine Textfile nicht unbedingt gehen.
Ich verzettel mich nur mit der Objekt-Logik von VBA... das macht mich kirre :P
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 18:43:26
CMD
Na dann ist Dir dieses vielleicht genehmer Robert:
Code:

[Cc]

Sub GetProgOutput() Dim oClip As Object Set oClip = New DataObject With CreateObject("WScript.Shell") .Run "cmd /c ping localhost | clip", 0, True oClip.GetFromClipboard MsgBox oClip.GetText(1) End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Rückgabe von CMD Prog. ohne Fenster
20.01.2022 19:39:13
CMD
Ja supi, das ist ziemlich genau was ich will.
Vielen Dank und schönen Feierabend :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige