Jörg Lorenz: Daten von Excel verarbeiten

Beitrag lesen

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