Dirk Ruchatz: Speisekarte in Exceltabelle nach HTML konvertieren

Beitrag lesen

Moin Sebastian,

Hallo, Siechfred,

Vielleicht wäre dieses Excel-Makro hilfreich. Einfach beim Kunden installieren, der drückt in Excel auf eine Schaltfläche, die das Makro aufruft und heraus kommt eine HTML-Tabelle, die er dann hochlädt. Und das Parsen dieser Datei auf dem Server dürfte eigentlich keine Schwierigkeiten bereiten.

das wäre eine Möglichkeit - allerdings müsste der Kunde dann die Excel-Dateien immer konvertieren, was möglicherweise schon zuviel verlangt ist  ;-)  ...

wenn du dir das Beispiel anguckst und dich noch ein bisschen mit VBA beschäftigst, kannst du dem Anwender eigentlich sogar jegliche Arbeit abnehmen, er muss sich noch nichtmals um den Upload kümmern (lediglich eine Internet-Verbindung muss vorhanden sein)...

Mal das Gerüst meiner Idee:

Du fängst das Ereignis Workbook_BeforeSave ab, um das Makro automatisch bei jedem Speichern zu starten.

Statt wie bei Roman Koch Application.Selection durchläufst du ActiveSheet.UsedRange, dadurch werden alle Zellen angesprochen, die im aktuellen Worksheet genutzt werden.

In der Schleife baust du keinen String (sTable) zusammen, sondern schreibst über das FileSystemObject direkt eine HTML-Datei auf die Festplatte und überträgst diese schließlich  mit einer kleinen Routine

  
Sub Upload()  
   Dim iFile As Integer  
   Dim sLog As String, sFile As String  
   iFile = FreeFile  
   sLog = "C:\Temp\LogIn.txt" ' irgendeine temporäre Datei auf deiner Platte  
   Open sLog For Output As #iFile  
   Print #iFile, "dein_Username"  
   Print #iFile, "dein_Password"  
   Print #iFile, "ascii"  
   Print #iFile, "put C:\Temp\deine_Datei.html"  
   Print #iFile, "quit"  
   Close  
   Shell "ftp -s:" & sLog & " dein_FTP-Server", vbHide  
End Sub  

Das ist eindeutig für den User einfacher zu bedienen als irgendein Uploadformular (er muss sich nämlich um nichts kümmern sondern nur seine Speisekarte erstellen und speichern) und funktioniert (ich setze das Verfahren seit ca. 18 Monaten ein), u.a. werden http://www.ferienhaus-sudfrankreich.de/preise.html und http://www.in-der-speisekammer.de/html/body_mittagstisch.html auf diese Weise erzeugt.

Glück auf
Dirk