Pozdravljeni,
zanima me na kak način bi lahko iz VBA uploudal oz. downloadal datoteke (naprimer .txt) na FTP server.
Torej preko katerega ukaza poteka procedura povezovanja do serverja in kako potem s serverjem komuniciramo....
Hvala za odgovor
FTP & VBA
Pozdravljeni,
Najlažje boste to dosegli, če uporabite objekt, ki se skriva v datoteki
MSINET.OCX. To je MS datoteka, ki jo dobite ob različnih MS produktih, kot so VB, Studio in podobni. Poglejte v Windows mapo ali to datotekoimate. Če je nimate lahko po internetu poiščete, kje bi jo našli. (Lahko si jo naložite tudi tukaj: http://www.2ocx.com/show.php?ocx=msinet.ocx).
Če datoteko imate, potem je verjetno že tako ali tako registrirana, sicer pa jo morate še registrirati. Postavite se v mapo, kjer se datoteka nahaja in napišite
Odprite VBA urejevalnik in izberite Tools/References, ter kliknite gumb Browse... in izberite prej omenjeno datoteko.
Tako, sedaj imate vse pripravljeno.
Koda za dowload je sledeče:
Za upload pa sledeča:
Najlažje boste to dosegli, če uporabite objekt, ki se skriva v datoteki
MSINET.OCX. To je MS datoteka, ki jo dobite ob različnih MS produktih, kot so VB, Studio in podobni. Poglejte v Windows mapo ali to datotekoimate. Če je nimate lahko po internetu poiščete, kje bi jo našli. (Lahko si jo naložite tudi tukaj: http://www.2ocx.com/show.php?ocx=msinet.ocx).
Če datoteko imate, potem je verjetno že tako ali tako registrirana, sicer pa jo morate še registrirati. Postavite se v mapo, kjer se datoteka nahaja in napišite
Koda: Izberi vse
regsvr32 MSINET.OCX
Tako, sedaj imate vse pripravljeno.
Koda za dowload je sledeče:
Koda: Izberi vse
// Avtor: OfficeOne
Function DownloadFile(ByVal HostName As String, _
ByVal UserName As String, _
ByVal Password As String, _
ByVal RemoteFileName As String, _
ByVal LocalFileName As String) As Boolean
Dim FTP As Inet
Set FTP = New Inet
With FTP
.Protocol = icFTP
.RemoteHost = HostName
.UserName = UserName
.Password = Password
.Execute .URL, "Get " + RemoteFileName + " " + LocalFileName
Do While .StillExecuting
DoEvents
Loop
DownloadFile = (.ResponseCode = 0)
End With
Set FTP = Nothing
End Function
Koda: Izberi vse
// Avtor: OfficeOne
Function UploadFile(ByVal HostName As String, _
ByVal UserName As String, _
ByVal Password As String, _
ByVal LocalFileName As String, _
ByVal RemoteFileName As String) As Boolean
Dim FTP As Inet
Set FTP = New Inet
With FTP
.Protocol = icFTP
.RemoteHost = HostName
.UserName = UserName
.Password = Password
.Execute .URL, "Put " + LocalFileName + " " + RemoteFileName
Do While .StillExecuting
DoEvents
Loop
UploadFile = (.ResponseCode = 0)
End With
Set FTP = Nothing
End Function
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator