26. april 2010 - 12:33Der er
10 kommentarer og 1 løsning
Forkert tekst-format ?
Jeg har nogle tekst filer, hvor teksten ikke står "pænt"
der er ikke nogle nye-linie afsnit, når man kigger i filen med notepad. Åbner man derimod i Wordpad, så ser det fint ud. Gemmer man derefter i Wordpad, så ser det efterfølgende fint ud i notepad også.
Problemet er at når filen læses med VBA, så er al teksten en enkelt linie, før teksten ehar været åbnet og gemt med wordpad.
da filerne opdateres løbende kan jeg ikke hver gang åbne i wordpasd og gemme igen, så findes der en metode til at konvertere fra det ene format til den andet i VBA ? Eller nogle linier kode til at konvertere ?
Jeg kan ikke give dig en løsning i Visual Basic, men jeg kan fortælle dig hvad problemet er: Linjeskiftene er indkodet i UNIX- eller Mac-format, enten med et newline-tegn eller et carriage return-tegn, hvor Windows bruger begge dele efter hinanden. I C(++) betegnes dette med '\r\n'.
Koden har væet anvendt i et regneark ("kun som pladsholder"):
Public Sub konverterFil() Dim tegn As String, linje As String Open "C:\Documents and Settings\test.txt" For Input As #1 Open "C:\Documents and Settings\test2.txt" For Output As #2
linje = ""
Do While Not EOF(1) ' Loop until end of file. tegn = Input(1, #1) ' Get one character.
If tegn = vbLf Then Print #2, linje linje = "" Else linje = linje + tegn End If Loop Close #1 Close #2 End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.