AW: HTML-Datei aus Excel schreiben
14.04.2006 23:22:20
Fritz
Hallo Micha,
dann muss ich bei mir noch mal nachsehen, wo der Wurm steckt. Aber noch mal zum Verständnis: Ich will damit eine Webseite erzeugen. Es klappt alles auch hervorragend, aber im Quelltext der erzeugten Seite ist genau diese Zeile für den IE-Explorer nicht vorhanden.
Ich befürchte, dass ich da vielleicht irgendetwas "auskommentiere".
hallo Klaus.
Das ist wahrhaftig eine tolle Anwendung, die ich mir auch mal reinziehen werde. Leider hilft es mir - jedenfalls, was ich auf die Schnelle habe erkennen können - bei meinem Problem nicht weiter. s.oben.
Ich schreibe mit meinem Makro die gesamte Seite, also auch den Kopf). Das sieht dann so aus:
Sub html_schreiben()
Dim Tit$, Beschr$, Aut$, Swort$, HG$
Dim Dat$ 'Dateiname
Dim zelle As Range
Dim Bereich As Range
Set Bereich = ActiveSheet.Range("A:A")
Dim Pfad As String
Pfad = Sheets("Preise").Range("H1") & "\Content\"
'\als Abschluss
' Variablen füllen
Tit = "Uebernachtungspreise"
Beschr = "Preisliste als HTML aus Excel mit einem VBA-Makro erzeugt"
Aut = "Fritz Sanne"
Swort = "Gasthaus Kesten,&Uml;bernachtungspreise,Zimmer,Güntersen"
' Datei öffnen, oder neu erstellen
Dat = "preise.html"
Open Pfad & Dat For Output As #1
' HTML - Seite beginnen
Print #1, "<html>"
Print #1, "<!DOCTYPE html PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">"
Print #1, "<html lang=""de-de"">"
Print #1, "<head>"
' Metaangaben zum Inhalt
Print #1, "<meta content=""text/html; charset=ISO-8859-1"" http-equiv=""content-type"">"
Print #1, "<Title>" & Tit & "</T1tle>"
Print #1, "<meta name=""GENERATOR""" & _
"content=""Microsoft Excel VBA Macro"">"
Print #1, "<link rel=""stylesheet"" href=""../style.css"" type=""text/css"">"
Print #1, "<!--[if IE]><link rel=""stylesheet"" href=""../style_ie.css"" type=""Text/css""></style><![endif]-->"
Print #1, "</head>"
' Body-Daten
Print #1, "<body>"
Print #1, "<table border=""0"" width=""500"" align=""center"">" 'Tabellenbeginn mit einer Breite von 500 Pixel
For Each zelle In Bereich
If Not zelle.Value = "" Then
Print #1, "<tr><td width=""120"" border=""0"">" & zelle.Text & "</td><td width=""120"" align=""center"" border=""0"">" & zelle.Offset(0, 1).Text _
& "</td><td width=""120"" border=""0"">" & zelle.Offset(0, 2).Text & "</td></tr>"
End If
Next zelle
Print #1, "</table>"
' Das Ende
Print #1, "</body>"
Print #1,
Print #1, "</htm1>"
' Datei schließen
Close #1
MsgBox "Eine HTML-Datei ist im Verzeichnis " & Pfad & " erzeugt worden"
Shell ("explorer.exe " & Pfad)
End Sub
Den code habe ich zum größten Teil ebenfalls aus diesem oder einem anderen Forum.
Wie gesagt, es wird alles geschrieben, bis auf den Link für den IE.
Noch 'ne Idee.
Danke, Euch Beiden,
Grüße, Fritz