从VBA运行Telnet会话

5

我有一个可以进行FTP的VBA库,我也想做Telnet。目前,我正在通过调用一个基于文本文件的Perl脚本来实现Telnet,但我希望能够在VBA内部直接驱动Telnet连接。有人有这方面的源代码吗?我不想使用插件,需要代码是自包含的。


1
通常在这里要求代码是不起作用的。你能把你做的东西展示给我们吗?我们会帮助你让它运行得更好。此外,如果你能提供Perl脚本和VBA FTP库的参考资料就更好了。 - Abbas
同意,这就是为什么我回答它的原因。但通常更好的做法是提供更多细节。 - Abbas
感谢回复。我现有的 VBA FTP 代码在这里:http://www.eggheadcafe.com/software/aspnet/35435157/ftp-file-size-from-wininet.aspx - PhilHibbs
抱歉,上一个链接只有代码的一小部分,这里是完整代码的链接:http://www.pcreview.co.uk/forums/ftp-file-size-wininet-t3932684.html - PhilHibbs
@PhilHibbs:如果没有MS Winsock控件,你只能使用SendKeys,可以看下面我的回答。 - Our Man in Bananas
1个回答

1
如果你能 使用MS WinSock控件(还可以参考在VBA中使用winsock
更多资源: MSDN Library:使用Winsock Control (Visual Basic) Winsock Control 如果不行,也许可以使用cmd.exeSendKeys
免责声明:我从下面的第二个链接中复制了以下代码,并稍微修改了一下以适用于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

如何使用VBScript自动化Telnet命令


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接