kann mir jemand einen praktikablen Weg zeigen wie man es am besten anstellt, wenn man eine Datei aus VBA/Excel heraus per FTP auf dem Server beim Provider uploaden möchte?
Herzlichen Dank für jeden HInweis von euch.
Emil
Sub trans()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "ftp -v -n -s:c:\Temp\trans.txt deinRechnername"
End Sub
Um eine Datei per FTP aus Excel heraus mit VBA hochzuladen, folge diesen Schritten:
VBA-Editor öffnen:
ALT + F11, um den VBA-Editor zu starten.Neues Modul erstellen:
Einfügen > Modul.VBA-Code einfügen:
Sub FTPUpload()
Dim wshshell As Object
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "ftp -v -n -s:c:\Temp\trans.txt deinRechnername"
End Sub
Textdatei erstellen:
trans.txt im Verzeichnis C:\Temp und füge den folgenden Inhalt ein:user deinuser deinpasswort
ascii
lcd C:\TEMP
put /scripts/stale.txt stalealarm.txt
bye
Code ausführen:
FTPUpload aus, um die Datei auf den Server hochzuladen.Fehler: „Konnte Verbindung zum Server nicht herstellen“
Fehler: „Anmeldung fehlgeschlagen“
trans.txt richtig eingegeben sind.Fehler: „Datei nicht gefunden“
trans.txt.Wenn du eine andere Methode für den FTP Upload bevorzugst, kannst du auch folgende Optionen nutzen:
Excel Add-Ins: Es gibt zahlreiche Add-Ins für Excel, die FTP-Funktionen bieten, ohne dass du VBA verwenden musst.
PowerShell: Du kannst PowerShell-Skripte verwenden, um Dateien auf einen FTP-Server hochzuladen. Diese Methode bietet mehr Flexibilität.
Hier ist ein einfaches Beispiel für das Hochladen einer Datei:
stale.txt im Verzeichnis C:\TEMP existiert.Fehlerprotokollierung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um Probleme beim Upload besser zu diagnostizieren.
Sicherheit: Achte darauf, sensible Informationen wie Benutzernamen und Passwörter nicht in Klartext zu speichern.
Automatisierung: Du kannst den FTP Upload in regelmäßigen Abständen automatisieren, indem du das Makro über die Windows Aufgabenplanung ausführst.
1. Kann ich auch mehrere Dateien gleichzeitig hochladen?
Ja, du kannst mehrere put-Befehle in deiner trans.txt-Datei hinzufügen, um mehrere Dateien gleichzeitig hochzuladen.
2. Welche Excel-Version benötige ich für diesen VBA-Code?
Der oben angegebene VBA-Code funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und neuer.
3. Gibt es eine Möglichkeit, FTP-Uploads ohne VBA durchzuführen?
Ja, du kannst Online-Dienste oder FTP-Clients verwenden, um Dateien hochzuladen, ohne VBA zu verwenden.