AW: Makro - FTP
09.12.2005 13:38:46
MichaV
Hallo,
Option Explicit
Private Declare Function InternetConnect Lib "wininet.dll" Alias _
"InternetConnectA" (ByVal hInternetSession As Long, _
ByVal sServerName As String, ByVal nServerPort As Integer, _
ByVal sUsername As String, ByVal sPassword As String, _
ByVal lService As Long, ByVal lFlags As Long, ByVal _
lContext As Long) As Long
Private Declare Function InternetOpen Lib "wininet.dll" Alias _
"InternetOpenA" (ByVal sAgent As String, ByVal lAccessType _
As Long, ByVal sProxyName As String, ByVal sProxyBypass _
As String, ByVal lFlags As Long) As Long
Private Declare Function FtpPutFile Lib "wininet.dll" Alias _
"FtpPutFileA" (ByVal hFtpSession As Long, ByVal _
lpszLocalFile As String, ByVal lpszRemoteFile As String, _
ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" _
(ByVal hInet As Long) As Integer
Private Const FTP_UAgent As String = "FTP Demo"
Private Const INTERNET_OPEN_TYPE_PROXY As Long = 3&
Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1&
Private Const INTERNET_SERVICE_FTP As Long = 1&
Private Const FTP_TRANSFER_TYPE_BINARY As Long = &H0&
Private Const FTP_TRANSFER_TYPE_ASCII As Long = &H1&
Private hOpen As Long, hConnection As Long
Public Sub test()
Dim nFlag As Long
Dim lFile As String
Dim fFile As String
Dim Result As Long
Dim Proxy As String
'### Für den Proxybetrieb
'Proxy = "...."
'hOpen = InternetOpen(FTP_UAgent, INTERNET_OPEN_TYPE_PROXY, _
' Proxy, vbNullString, 0)
'### Ohne Proxy
hOpen = InternetOpen(FTP_UAgent, INTERNET_OPEN_TYPE_DIRECT, _
vbNullString, vbNullString, 0)
hConnection = InternetConnect(hOpen, "deineseite.de", _
0, _
"deinbenutzername", "deinpasswort", _
INTERNET_SERVICE_FTP, nFlag, 0)
If hConnection <> 0 Then
Result = FtpPutFile(hConnection, "e:\privat\test.txt", "deineseite.de/verzeichnis/dateiname.txt", FTP_TRANSFER_TYPE_BINARY, 0)
'oder FTP_TRANSFER_TYPE_ASCII
If Result = 0 Then MsgBox "Übertragungsfehler!"
Else
MsgBox "Konnte Verbindung nicht aufbauen"
End If
InternetCloseHandle (hConnection)
InternetCloseHandle (hOpen)
End Sub
Gruss- Micha
PS: Rückmeldung wäre nett.