Hi Roger,
zunächst erst einmal danke, dass du dich überhaupt mit meinem gurk-problem beschäftigst.
Kein Problem ;-)
das problem tritt nach wie vor auf. ich kann mir echt nicht vorstellen, dass es am code liegt.
Doch - da waren noch zwei Fehler drin. Erstmal hatte ich zwar alles auf den Array geändert, aber vergessen beim Schreiben der Datei auch den Array zu verwenden. Und dann hatte ich bei einem <td> den / vergessen, aber das hat damit nichts zu tun.
ist es evtl ein problem des sp3? gibt es irgendwo eine beschränkung, die die datei nicht beschreiben lässt?
Wenn es da nicht noch etwas Unbekanntes gibt - nein. Probleme sind nur bekannt, wenn Code per Code geschrieben wird, aber das ist ja hier nicht der Fall. "Open" (bzw. der gesamte Aufbau) wurde schon auf den verschiedensten Systemen verwendet, sogar auf dem Mac, und es funktionierte immer.
ich habe sogar die datei vorher angelegt, um sicher zu gehen, dass sie da ist und beschrieben werden kann. vielleicht ein berechtigungsproblem?
Erlebt habe ich das zwar noch nicht, aber Du kannst die Datei ja mal testweise in den Ordner des Benutzers schreiben lassen.
gibt es nicht eine möglichkeit irgendwelche meldungen abzufangen/zu loggen?
Im einfachsten Fall behelfe ich mir immer mit MsgBox und lasse mir die Werte von Variablen damit zeigen.
Ich habe es jetzt mal selbst getestet (XP Home und Office 2000), da wurde die Datei einwandfrei erstellt. Der Code (aus dem Editor kopiert):
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, arrSammler(intI)
Next
Print #1, strTemp2
Close #1
Set Bereich = Nothing
End Sub
Viele Grüße
Jörg