Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FTP via Excel/VBA

Forumthread: FTP via Excel/VBA

FTP via Excel/VBA
24.11.2022 14:50:38
Christoph
Hallo,
ich habe aus dem Netz folgenden Code gefunden um Dateien via FTP auf einen Server hoch zu laden:

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 Local 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
Beim Aufruf mit dem Befehl

Response = FTP_Upload_File("C:\XXX\Datei.csv", "Datei.csv", "ftp.000.000.000.00", "Benutzer", "PW")
kommt die Meldung "Objektvariable oder With-Blockvariable nicht festgelegt und verweist auf "FTP_Upload_File = FTP.ResponseCode".
was stimmt nicht?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FTP via Excel/VBA
24.11.2022 17:57:37
onur
Setze mal

Set FTP = New Inet
VOR

On Error GoTo FuncExit

AW: FTP via Excel/VBA
24.11.2022 20:55:20
snb
Kannst du in Excel einfach machen im Window 'SaveAs'
Erstelle erst ein FTP location (schau mal attachment)
Und dann reicht.

Sub M_snb_ftp_uploaden()
ThisWorkbook.SaveAs "ftp://www.snb-vba.eu/domains/snb-vba.eu/public_html/___/beispiel.csv", 23
End Sub
Userbild
Anzeige
;
Anzeige

Infobox / Tutorial

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:

  1. Hochladen von CSV-Dateien: Stelle sicher, dass die Quelle die richtige CSV-Datei ist.
  2. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige