VBA Textdatei einlesen Delimiter ändern

18/12/2008 - 08:27 von Ewald | Report spam
Hallo NG,
kann ich den Delimiter beim einlesen einer Textdatei àndern?
Standardmàßig wird das Komma benutzt; Kommas sind aber Teil der Daten. Wie
kann ich VBA dazu bringen die in der Datei enthaltenen Linefeeds (x'10') als
Delimiter zu akzeptieren?

Open EingabeDatei For Input As #1
.
.
Input #1, EingabeSatz

Soll:
<#FIELD NAME = NUMBER>70002079</#FIELD>
<#FIELD NAME = AUTHOR>Rushman, F.</#FIELD>
Ist:
<#FIELD NAME = NUMBER>70002079</#FIELD><#FIELD NAME = AUTHOR>Rushman, (ohne
Zeilenumbruch)
F.</#FIELD>

Danke
Ewald
(Excel 2003, XP)
 

Lesen sie die antworten

#1 stefan onken
18/12/2008 - 14:34 | Warnen spam
On 18 Dez., 08:27, Ewald wrote:
Hallo NG,
kann ich den Delimiter beim einlesen einer Textdatei àndern?
Standardmàßig wird das Komma benutzt; Kommas sind aber Teil der Daten. Wie
kann ich VBA dazu bringen die in der Datei enthaltenen Linefeeds (x'10') als
Delimiter zu akzeptieren?

    Open EingabeDatei For Input As #1
    .
    .
    Input #1, EingabeSatz

Soll:
<#FIELD NAME = NUMBER>70002079</#FIELD>
<#FIELD NAME = AUTHOR>Rushman, F.</#FIELD>
Ist:
<#FIELD NAME = NUMBER>70002079</#FIELD><#FIELD NAME = AUTHOR>Rushman, (ohne
Zeilenumbruch)
F.</#FIELD>

Danke
Ewald
(Excel 2003, XP)



hallo Ewald,
du kannst nach dem >< suchen mittels InStr() und dann den Text mit Left
() und Mid() zerteilen, etwa so

Open datName For Input As #1
Line Input #1, eingabesatz
trenner = InStr(eingabesatz, "><")
If trenner > 0 then MsgBox eingabesatz & vbCr & _
Left(eingabesatz, trenner) & vbCr & _
Mid(eingabesatz, trenner + 1)
Close #1

Gruß
stefan

Ähnliche fragen