2011-03-17 134 views
5

我有一個做FTP的VBA庫,我也想做telnet。目前,我正在向一個基於文本文件的telnet執行Perl腳本,但我想從VBA中本地驅動telnet連接。有沒有人有任何來源?我不想使用加載項,我需要代碼是獨立的。從VBA運行Telnet會話

+1

問代碼通常不會在這裏工作。您如何向我們展示您所做的事情,我們將幫助您實現目標或使其變得更好。另外,如果您參考Perl腳本和VBA FTP庫,這將會很有幫助。 – Abbas 2011-03-17 10:11:32

+0

同意,這就是我回答它的原因。但通常會有更多的細節。 – Abbas 2011-03-17 11:28:53

+0

感謝您的回覆。我現有的VBA FTP代碼在這裏:http://www.eggheadcafe.com/software/aspnet/35435157/ftp-file-size-from-wininet.aspx – PhilHibbs 2011-03-29 09:29:58

回答

0

如果你能use the MS WinSock control(見using winsock in VBA

更多資源:

MSDN Library: Using the 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

How to automate Telnet commands using VBScript