Hallo, NG...
Ich habe folgendes Problem: Ich lese einen HTML-Text ein, um diesen zu bearbeiten (tags entfernen, head rausschmeissen etc.) und danach wieder für die weitere Bearbeitung zu speichern. Nun ist es so, dass der Text nach dem 255. Zeichen abgeschnitten wird. Wie kann ich das umgehen? Der Text wird danach in eine Tabelle Datensatz für Datensatz geschrieben, hier ist natürlich das gleiche Problem, da "Text" nur max. 255 Zeichen aufnimmt.
Der Code zum Einlesen lautet so:
Public Function readIn()
On Error GoTo Err_readIn
'autor: remelius
'letzte aenderung 23.09.2002,remelius
' Gesamten Inhalt der Profil-Datei bearbeiten
Dim sLine As String ' Variable, in der die Strings zeilenweise gelesen werden
Dim F1 As Integer, F2 As Integer, F3 As Integer ' Freefile-Variablen für die
' Dateien
Dim I As Integer ' wird nicht benötigt, höchstens wenn die Zeilen gezählt
' werden sollen
Dim vkopf As Boolean ' Variable zum Ein- bzw. Ausschalten des Head-Bereichs
Dim sFile1 As String ' Dateivariable
Dim sFile2 As String ' Dateivariable
Dim X As String ' Variable 1 für Tag-Eliminierung
Dim z As String ' Variable 2 für Tag-Eliminierung
Dim v As String ' Variable für Tag-Eliminierung
Dim h As String ' Variable für Tag-Eliminierung
vkopf = False
' Einzulesende Profil-Datei aus Word-Konvertierung
sFile1 = Globals.HtmlVorlagenPfad & Me.MA_Nr_Berater.Value & ".htm"
' Neue Profil-Datei im HTML-Format, die ausgegeben wird und im weiteren
' Verlauf verwendet wird
sFile2 = Globals.HtmlVorlagenPfad & "Arbeitsvorlage" & Me.MA_Nr_Berater.Value _
& ".htm"
' Dateien öffnen
If fileExists(sFile1) Then
F1 = FreeFile: Open sFile1 For Input As #F1
Else
DoCmd.Echo True
DoCmd.Hourglass False
MsgBox "Datei wahrscheinlich noch nicht im Ordner 'HtmlVorlagen'" & _
"gespeichert!", vbOKOnly + vbCritical, "Daten nicht gefunden"
'DoCmd.Quit acQuitSaveNone
Exit Function
End If
F2 = FreeFile: Open sFile2 For Output As #F2
' Löschen sämtlicher Tags
While Not EOF(F1)
Line Input #F1, sLine
Do
X = InStr(1, sLine, "<")
If X = 0 Then
Exit Do
Else
z = InStr(X, sLine, ">")
If z = 0 Then
Exit Do
Else
v = left(sLine, X - 1)
h = Mid(sLine, z + 1, Len(sLine) - z + 1)
sLine = v & h
End If
End If
Loop
If sLine = "<head>" Then vkopf = True ' erste Kopfzeile schaltet vKopf ein
If sLine = "</head>" Then vkopf = False ' letzte Kopfzeile schaltet vKopf aus
' Ersetzen von HTML-Sonderzeichen aus Word-Konverter
sLine = replace(sLine, "&", " ")
sLine = replace(sLine, "break", "<ul>")
sLine = replace(sLine, "aufzaehl", "<li>")
sLine = replace(sLine, "ulEnd", "</ul>")
If Not vkopf Then Print #F2, left(sLine, 255) ' schreibt nur, wenn ich nicht
' im Kopfbereich bin
Wend
Close #F1
Close #F2 Wäre nett, wenn mir jemand einen Tip geben könnte...
Christian |