2011-03-17 23 views
5

FTP'de VBA kütüphanesi var, telnet yapmak istiyorum. Şu anda telnet'i bir metin dosyasına dayanan bir Perl betiğine veriyorum, fakat telnet bağlantısını VBA'nin içinden yerel olarak sürmek istiyorum. Bunun için herhangi bir kaynağı var mı? Bir eklenti kullanmak istemiyorum, kendi kendine yetecek kodlara ihtiyacım var.VBA'dan bir Telnet oturumu çalıştırma

+1

Telnet & Excel - Microsoft.excel.programming burada çalışmıyor genellikle kod için sorma. Ne yaptığınızı bize gösterdiğinizde, işinize ya da daha iyi hale getirmenize yardımcı olacağız. Ayrıca, Perl betiğine ve VBA FTP kütüphanesine referans verirseniz yardımcı olacaktır. – Abbas

+0

Anlaştık, bu yüzden yanıtladım. Ancak genellikle daha fazla ayrıntıya sahip olmak daha iyidir. – Abbas

+0

Cevaplar için teşekkürler. Benim mevcut VBA FTP kodum burada: http://www.eggheadcafe.com/software/aspnet/35435157/ftp-file-size-from-wininet.aspx – PhilHibbs

cevap

0

Eğer use the MS WinSock control

Daha kaynaklarını (ayrıca using winsock in VBA bakınız) yapabiliyorsanız: değilse

MSDN Library: Using the Winsock Control

(Visual Basic) Winsock Control

, sen cmd.exe'yi ve belki SendKeys kullanabilirsiniz:

Yasal Uyarı: Aşağıdaki kodu aşağıdaki bağlantıların ikincisinden kopyaladım ve VBA için hafifçe değiştirdim.

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 en iyi veya en güvenilir çözüm değildir, ancak Son işimde de 12 yıl önce bunu yaparken tek bulabildiğim oldu.

diğer bilgiler:

How to automate Telnet commands using VBScript