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
5
A
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:
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
Anlaştık, bu yüzden yanıtladım. Ancak genellikle daha fazla ayrıntıya sahip olmak daha iyidir. – Abbas
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