Hi Roger,
[...]
der Code sieht OK aus. Wenn die Datei das erste Mal erstellt wird, kann es zu einer Fehlermeldung kommen. Setze mal vor die Zeile mit dem Open folgende Zeile:
On Error Resume next
Vielleicht noch ein Hinweis, da Du ja eine HTML-Datei haben möchtest:
Eventuell wäre es besser, wenn Du erst die ganzen Strings zusammenbasteln und erst am Ende die Datei schreiben läßt. Du könntest hierbei wunderbar mit einem Array arbeiten. Hier mal ein Beispiel, das ich aber nicht getestet habe, es soll nur die Herangehensweise verdeutlichen:
Sub AlsTextSpeichern()
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String, strTemp1 as string, strTemp2 as string
dim arrSammler()
dim intI as integer
Const Pfad As String = "c:"
Const Dateiname As String = "test"
Const Extension As String = ".txt"
Const Trennzeichen As String = ";"
strtemp1 = "<html><head> ... weitere Angaben ... </head><body>"
Set Bereich = ActiveSheet.UsedRange
inti = 0
For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
If InStr(1, Zelle.Text, ";") > 0 Then
'Zellen, die ein Semikolon beinhalten in Anführungsstriche setzen
strTemp = strTemp & "<td>" & """" & CStr(Zelle.Text) & """" & "</td>"
Else
strTemp = strTemp & "<td>" & CStr(Zelle.Text) & "<td>"
End If
Next
strtemp = "<tr>" & strtemp & "</tr>"
inti = inti + 1
redim preserve arrsammler(inti)
arrsammler(inti - 1) = strtemp
strTemp = ""
Next
strtemp2 = "</body></html>"
on error resume next
Open Pfad & Dateiname & Extension For Output As #1
Print #1, strTemp1
for inti = 0 to ubound(arrsammler) - 1
Print #1, strTemp
next
Print #1, strTemp2
Close #1
Set Bereich = Nothing
End Sub
Wie geschrieben - habe es nicht getestet, einfach nur so getippt.
Viele Grüße
Jörg