Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aus Excel über FTP gleich nach oben?

Aus Excel über FTP gleich nach oben?
Fritz
Hallo,
Dank Herrn Körn (Codebook) habe ich es geschafft, eine Excel-Datei als HTML-Datei zu basteln und konnte den Code auch so hinbiegen, dass das auch alles mit meinem Style-Sheet hingehauen hat.
Nun mache ich mir Gedanken, wie man die fertige Seite auf den Server der entsprechenden homepage bugsieren könnte, und zwar aus Excel heraus.
Also, ich habe eine Excel-Tabelle und verändere die Bierpreise meiner Kneipe. Dann bin ich mit den Preisen zufrieden und möchte das gleich auf´n Server laden.
Meine Frage: Muss ich jetzt irgendeinen ftp - Client aufrufen oder geht das anders? Bei NT4 gab's mal was, dass man in der Konsole ftp aufgerufen hat, dann musste man nur wissen, was man dann da reinscheiben muss. Weiß ich nicht.
Also mit anderen Worten: Muss ich z.B. "FileZilla" bemühen, oder kann ich die erforderlichen Daten wie URL, Benutzerkennung und Kennwort in Excel eingeben und die Datei hochladen.
Zum Hintergrund: Meine Nebenarbeits-Chefin ist noch Internet-resistent. Aber die ersten fragen schon nach ihrer homepage-Anschrift, weil sie gut ist. Einen professionellen Internet-Auftritt wird sie sich nicht leisten können und wollen, wäre auch für die Größe und den Einzugsbereich der Kneipe völlig blödsinnig. Sie hat Angst vor der Pflege der Seite - deshalb dachte ich mir, ihr z.B. eine Preisliste in Exycel zu basteln, die sie dann mit'n Kopfdruck hochladen kann.
Ganz große Bitte an Entwickler: Das ist keine Konkurrenz - im Gegenteil. Ich bin der festen Überzeugung, dass jemand, der mit solch Laienkram arbeiten musste irgend wann einmal sagt: Schnauze voll, ich will richtiges Handwerkszeug haben. Aber man muss sie doch mal an die Sache ranführen, oder?
In diesem Sinne, wie kann ich aus Excel was auf'n server bringen? Oder:gibt's da schon einen Thread - ich hab nix gefunden.
Grüße,
Fritz

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

Betreff
Benutzer
Anzeige
AW: Aus Excel über FTP gleich nach oben?
13.02.2006 08:51:09
Ramses
Hallo Fritz
Dies ist ein Ansatz.
Das musst du einfach mal probieren, ich habe den Code auch nur irgendwo mal gefunden
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

' Kostanten
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Private Const INTERNET_INVALID_PORT_NUMBER = 0
Private Const INTERNET_SERVICE_FTP = 1

' Übertragungsmodus
Public Enum eTransferType
    FTP_TRANSFER_TYPE_BINARY = &H2
    FTP_TRANSFER_TYPE_ASCII = &H1
End Enum

' Handles
Private hOpen As Long
Private hConnection As Long
' Verbindung zum Server herstellen
Public Function Connect(ByVal sRemoteHost As String, _
        Optional ByVal sUsername As String, _
        Optional ByVal sPassword As String) As Boolean

    ' Ist noch eine Verbindung vorhanden?
    ' Wenn ja, muss diese zunächst beendet werden!
    If hOpen <> 0 Or hConnection <> 0 Then Disconnect
    ' Neue Verbindung starten
    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)
    End If
    Connect = (hConnection <> 0)
End Function


' Datei auf den Server hochladen
Public 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
Public Sub Disconnect()
    If hConnection <> 0 Then
        InternetCloseHandle hConnection
        hConnection = 0
    End If
    If hOpen <> 0 Then
        InternetCloseHandle hOpen
        hOpen = 0
    End If
End Sub

Sub callftp()
    Dim sRemoteHost As String
    Dim sUsername As String
    Dim sPassword As String
    Dim sLocalFile As String
    Dim sRemoteFile As String
    Dim fileName As String
    Dim nTransferMode As eTransferType
    Dim bResult As Boolean
    Dim upindex As Integer
    upindex = 1
    
    'Verbindungsdaten abfragen
    sRemoteHost = InputBox("Bitte geben Sie die IP oder den Namen des FTP Servers ein", "FTP - Verbindungsdaten")
    sUsername = InputBox("Bitte geben Sie den Benutzernamen für den FTP - Server ein", "FTP - Verbindungsdaten")
    sPassword = InputBox("Bitte geben Sie das Passwort für den FTP - Server ein", "FTP - Verbindungsdaten")
    If Connect(sRemoteHost, sUsername, sPassword) Then
        'Alle Files der Liste werden in der Whileschleife abgearbeitet
        Do While upindex <= Cells(1, 3)
            Cells(upindex + 3, 2).Select
            sLocalFile = Selection.Hyperlinks.Item(1).Address
            sRemoteFile = "/htdocs/" & Cells(upindex + 3, 1)
            nTransferMode = FTP_TRANSFER_TYPE_ASCII
            bResult = FileUpload(sLocalFile, sRemoteFile, nTransferMode)
            If bResult Then
                Cells(upindex + 3, 5) = "upload erfolgreich"
            Else
                Cells(upindex + 3, 5) = "upload nicht erfolgreich"
            End If
            upindex = upindex + 1
        Loop
        Disconnect
    End If
End Sub


Gruss Rainer
Anzeige
AW: Aus Excel über FTP gleich nach oben?
13.02.2006 09:42:33
Fritz
Hallo Rainer,
vielen Dank - das werde ich mal versuchen.
Grüße, Fritz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige