2016-08-04 25 views
0

Meine VBA-Codes unten, Zeit zu sparen zeigt die Vorlage, wie mein Gastgeber über PlinkWie für die Verwendung von Plink in VBA

Set wsh = VBA.CreateObject("WScript.Shell") 
for i = 1 to 1000 
    wsh.Run("cmd.exe /c plink -ssh 192.168.100.xx -l root -pw xxxx command", 0, True) 
    Sleep 1000 
next i 

zu steuern Wenn ich Informationen von Host über plink.exe jede Sekunde bekommen haben, ist es ist notwendig, um "wsh.Run (" cmd.exe/c plink -ssh 192.168.100.xx -l root -pw xxxx-Befehl ", 0, True)" jedes Mal auszuführen, was beim Öffnen der Shell und beim Ausführen von plink Zeit kostet. exe und schließe es dann jede Runde. Gibt es eine Möglichkeit, die Zeit zu speichern, was bedeutet, dass Shell zu öffnen und plink.exe einmal auszuführen und plink.exe auf meinem Befehl zu hören, bis die Schleife endet?

+0

Diese Frage/Antwort ([Umleitung Eingabe in eine ausführbare Datei von Excel VBA] (http://stackoverflow.com/a/1899704/119775)) können Sie geben, was Sie brauchen ; Es zeigt, wie man mit einer ausführbaren Datei über WScript.Shell interagiert. –

+0

... aber auf den zweiten Gedanken ist es mir nicht klar, was Sie erreichen wollen. Können Sie ein Beispiel zeigen, wie Sie das tun würden, was Sie wollen, manuell an der Eingabeaufforderung? Sobald das geklärt ist, wird es einfacher sein, herauszufinden, wie es zu automatisieren ist. –

+0

Ich habe meine Frage überarbeitet. – StevenYen

Antwort

0

Vielleicht möchten Sie sich Chip Pearsons Lösung, Shell und warten.

http://www.cpearson.com/excel/ShellAndWait.aspx

Die ShellAndWait Funktion ruft Shell und wartet dann auf den Shell'd Prozess zu beenden. Sie können ein Intervall angeben, nach dem die Funktion abläuft und zum Aufrufer zurückkehrt. Die Erklärung von ShellAndWait ist wie folgt: