Запуск сеанса Telnet из VBA - PullRequest
5 голосов
/ 17 марта 2011

У меня есть библиотека VBA, которая поддерживает FTP, я бы тоже хотел использовать telnet.В данный момент я пишу сценарий Perl, который выполняет telnet на основе текстового файла, но я бы хотел подключить telnet-соединение непосредственно из VBA.У кого-нибудь есть источник для этого?Я не хочу использовать надстройку, мне нужно, чтобы код был автономным.

1 Ответ

0 голосов
/ 27 мая 2014

Если вы можете использовать элемент управления MS WinSock (см. Также , используя winsock в VBA )

Дополнительные ресурсы:

Библиотека MSDN: использование элемента управления Winsock

(Visual Basic) Winsock Control

если нет, вы можете использовать cmd.exe и SendKeys, возможно:

Отказ от ответственности: я скопировал приведенный ниже код из второй ссылки ниже и немного изменил его для VBA.

sub telNETScript()
On Error Resume Next
Dim WshShell as object

set WshShell=CreateObject("WScript.Shell")
WshShell.run "cmd.exe"
WScript.Sleep 1000

'Send commands to the window as needed - IP and commands need to be customized
'Step 1 - Telnet to remote IP'
WshShell.SendKeys "telnet xx.xx.xx.73 9999"
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000

'Step 2 - Issue Commands with pauses'
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000
WshShell.SendKeys "5"
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000

'Step 3 - Exit Command Window
WshShell.SendKeys "exit"
WshShell.SendKeys ("{Enter}")
WScript.Quit

end sub

SendKeys - не лучшее и не самое надежное решение, но это было все, что я мог найти, когда сделал это 12 лет назад на своей последней работе.

Подробнее:

Telnet & Excel - Microsoft.excel.programming

Как автоматизировать команды Telnet с помощью VBScript

...