Hallo Rodario,
Es funktioniert, danke!!
Musst aber halt noch deinen Anforderungen entsprechend anpassen 
Nochmal was anderes: Kennst du zufällig einen Quellcode, der
eine Datei auf einen im Quellcode definierten FTP-Server
hochlädt?
Nichts leichter als das 
Option Explicit
Option Explicit
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
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 nService As Long, ByVal nFlags As Long, ByVal nContext 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 Boolean
Private Const INTERNET\_OPEN\_TYPE\_PRECONFIG = 0
Private Const INTERNET\_INVALID\_PORT\_NUMBER = 0
Private Const INTERNET\_SERVICE\_FTP = 1
Public Enum eTransferType
FTP\_TRANSFER\_TYPE\_BINARY = &H2
FTP\_TRANSFER\_TYPE\_ASCII = &H1
End Enum
Private hOpen As Long
Private hConnection As Long
' Verbindung zum Server herstellen
Private Function Connect(ByVal sRemoteHost As String, Optional ByVal sUsername As String = "anonymous", Optional ByVal sPassword As String = "guest") As Boolean
If hOpen 0 Or hConnection 0 Then Disconnect
hOpen = InternetOpen("FTP", INTERNET\_OPEN\_TYPE\_PRECONFIG, vbNullString, vbNullString, 0)
If hOpen Then hConnection = InternetConnect(hOpen, sRemoteHost, INTERNET\_INVALID\_PORT\_NUMBER, sUsername, sPassword, INTERNET\_SERVICE\_FTP, 0, 0)
Connect = (hConnection 0)
End Function
' Datei auf den Server hochladen
Private Function FileUpload(ByVal sLocalFilename As String, ByVal sRemoteFilename As String, Optional ByVal nTransferType As eTransferType = FTP\_TRANSFER\_TYPE\_BINARY) As Boolean
FileUpload = FtpPutFile(hConnection, \_
sLocalFilename, sRemoteFilename, nTransferType, 0)
End Function
' Verbindung zum Server beenden
Private Sub Disconnect()
If hConnection 0 Then
InternetCloseHandle hConnection
hConnection = 0
End If
If hOpen 0 Then
InternetCloseHandle hOpen
hOpen = 0
End If
End Sub
Private Sub testUpload()
Dim sRemoteHost As String
Dim sLocalFile As String
Dim sRemoteFile As String
Dim nTransferMode As eTransferType
Dim bResult As Boolean
sRemoteHost = "Der-Server.de" 'Server wo der Upload stattfinden soll
If Connect(sRemoteHost) Then
sLocalFile = App.Path & "\DeinFile.de" 'Datei die hochgeladen werden soll
sRemoteFile = "/download/help/myHelp.txt" 'Pfad + Filename wo die Datei abgelegt werden soll
nTransferMode = FTP\_TRANSFER\_TYPE\_ASCII ' In welchen Modus übertragen wir die Datei
bResult = FileUpload(sLocalFile, sRemoteFile, nTransferMode) 'Wir machen den Upload
If bResult Then
MsgBox "Upload erfolgreich!"
Else
MsgBox "Fehler beim Upload der Datei!"
End If
Call Disconnect 'Wir trennen die Verbindung zum Server
End If
End Sub
Der Pfad der Datei ist auch immer der selbe, also soll er auch
im Quellcode angegeben sein 
Ob du ihn nun fest verankerst im proggi oder ueber eine Eingabe oder aus ein File liest, ist unrelevant!
Hab bis jetzt nur Quellcodes mit vielen Extras gefunden und da
steig ich nicht mehr ganz durch 
Wobei hast du denn da Probleme? Du musst nur einmal deine Verbindung öffnen, dann Connecten, dann den Upload machen und dann wieder schliessen? Wie du siehst, eigentlich ganz simple 
Am besten wird es sein, wenn du dir mal einen guten API Guide besorgt und diesen mal studierst 
MfG Alex
PS: Während des Uploades, verliert aber das Proggi die steuerung und sie bekommt sie erst zurueck, wenn der Upload fertig ist. Willst du das muesste man einen anderen Weg gehen .
MfG
Rodario