Dateien via FTP mit Excel und VBA hochladen
Schritt-für-Schritt-Anleitung
Um Dateien via FTP mit Excel und VBA hochzuladen, kannst du den folgenden Code verwenden. Achte darauf, dass du die richtigen FTP-Zugangsdaten verwendest.
Function FTP_Upload_File(QuellDatei As String, ZielDatei As String, FTPServer As String, FTPBenutzer As String, FTPKennwort As String) As Long
Dim FTP As Inet
Dim ExecString As String
On Error GoTo FuncExit
' Verbindungsaufbau
Set FTP = New Inet
With FTP
.Protocol = icFTP
.RemoteHost = FTPServer
.UserName = FTPBenutzer
.Password = FTPKennwort
' Upload
ExecString = "put " & Chr(34) & QuellDatei & Chr(34) & " " & Chr(34) & ZielDatei & Chr(34)
.Execute .Url, ExecString
Do While .StillExecuting
DoEvents
Loop
End With
FuncExit:
FTP_Upload_File = FTP.ResponseCode
Set FTP = Nothing
End Function
Verwende diesen Aufruf, um die Funktion zu testen:
Response = FTP_Upload_File("C:\XXX\Datei.csv", "Datei.csv", "ftp.000.000.000.00", "Benutzer", "PW")
Häufige Fehler und Lösungen
Ein häufiges Problem, das bei der Verwendung des Codes auftritt, ist die Fehlermeldung "Objektvariable oder With-Blockvariable nicht festgelegt". Dies kann passieren, wenn die Set
-Anweisung nicht korrekt platziert ist.
Lösung: Setze die Set FTP = New Inet
Zeile vor die On Error GoTo FuncExit
Anweisung, um sicherzustellen, dass das Objekt korrekt initialisiert ist.
Alternative Methoden
Falls du eine einfachere Methode bevorzugst, kannst du auch die SaveAs
-Funktion in Excel verwenden, um eine Datei direkt auf einen FTP-Server hochzuladen. Hier ist ein Beispiel:
Sub M_snb_ftp_uploaden()
ThisWorkbook.SaveAs "ftp://www.snb-vba.eu/domains/snb-vba.eu/public_html/___/beispiel.csv", 23
End Sub
Diese Methode erfordert keine umfangreiche Programmierung und ist in vielen Fällen ausreichend, um Dateien über FTP hochzuladen.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie du den excel vba ftp
Code anpassen kannst:
- Hochladen von CSV-Dateien: Stelle sicher, dass die Quelle die richtige CSV-Datei ist.
- Hochladen von Bildern: Ändere die Dateiendung im Quell- und Zielnamen, um Bilder hochzuladen.
Tipps für Profis
- Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung, um Probleme während des Uploads zu identifizieren.
- Sicherheitsaspekte: Achte darauf, dass du sichere Passwörter verwendest und deine FTP-Verbindung über SSL (FTPS) absicherst, wenn möglich.
- Batch-Uploads: Überlege, ob du mehrere Dateien in einem Batch hochladen möchtest, um die Effizienz zu steigern.
FAQ: Häufige Fragen
1. Frage: Funktioniert dieser Code in jeder Excel-Version?
Antwort: Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.
2. Frage: Was mache ich, wenn ich keinen Zugriff auf die FTP-Serverdaten habe?
Antwort: Kontaktiere den Serveradministrator, um die richtigen Zugangsdaten zu erhalten.
3. Frage: Kann ich auch andere Dateitypen hochladen?
Antwort: Ja, du kannst verschiedene Dateitypen hochladen, solange der FTP-Server sie akzeptiert.