2016-08-04 2 views
0

Моих VBA код ниже показывает шаблон о том, как контролировать свой хост через PlinkКак сэкономить время для использования Plink в 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 

Если я должен получить информацию от хоста через plink.exe каждую секунду, это необходимо выполнить «wsh.Run (« cmd.exe/c plink -ssh 192.168.100.xx -l root -pw xxxx command », 0, True)« каждый раз, что тратит время на открытие оболочки и выполнение plink. exe, а затем закрыть все в каждом раунде. Есть ли способ сохранить время, а это значит, что открыть оболочку и выполнить plink.exe один раз и сохранить plink.exe, слушая мою команду до тех пор, пока цикл не закончится?

+0

Этот вопрос/ответ ([перенаправление ввода в исполняемый файл из Excel VBA]) (http://stackoverflow.com/a/1899704/119775)) может дать вам то, что вам нужно ; он показывает, как взаимодействовать с исполняемым файлом через WScript.Shell. –

+0

... но, с другой стороны, мне непонятно, чего вы пытаетесь достичь. Можете ли вы показать пример того, как вы будете делать то, что хотите, вручную в командной строке? Как только это будет выяснено, будет легче выяснить, как его автоматизировать. –

+0

Я пересмотрел свой вопрос. – StevenYen

ответ

0

Возможно, вы захотите взглянуть на решение Chip Pearsons, Shell и Wait.

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

Функция ShellAndWait называет Shell, а затем ждет процесса Shell'd прекратить. Вы можете указать интервал, после которого функция отключается и возвращается вызывающему абоненту. Объявление ShellAndWait выглядит следующим образом:

Смежные вопросы