bestimmte zeichen eines textfiles einlesen

Bild

Betrifft: bestimmte zeichen eines textfiles einlesen von: edl l
Geschrieben am: 06.04.2005 11:20:40

hallo

lese eine textdatei mit folgendem code ein! Dieser Code ist jedoch für Kommagetrennte Werte und mein Code ist ein String.e


Sub Import()
Dateiname = Application.GetOpenFilename("Textdateien (*.txt), *.txt")
If Dateiname = "Falsch" Then Exit Sub

Startzeile = 2
Startspalte = 2
Zieltabelle = "Tabelle1"

Open Dateiname For Input As #1
Do While Not EOF(1)
Line Input #1, s
Wert1 = strParse(s, ";", 1)
Wert2 = strParse(s, ";", 2)
Wert3 = strParse(s, ";", 3)
With Sheets(Zieltabelle)
.Cells(Startzeile, Startspalte) = Wert1
.Cells(Startzeile, Startspalte + 1) = Wert2
.Cells(Startzeile, Startspalte + 2) = Wert3
End With
Startzeile = Startzeile + 1
Loop
Close #1
End Sub

Public


Function strParse(ByVal strText As String, ByVal Trennzeichen As String, ByVal Position As Integer) As String
Dim posStart, posStop, lenCar As Integer
posStart = 1
Do While Position > 1
posStart = InStr(posStart, strText, Trennzeichen) + 1
Position = Position - 1
Loop
posStop = InStr(posStart, strText, Trennzeichen)
strParse = Mid(strText, posStart, IIf(posStop = 0, Len(strText) + 1, posStop - posStart))
End Function



jetzt möchte ich aber nicht kommagetrennte werte einlesen, sonder einen ganzen string und diesen dann anhand von zeichen teilen. Z.B.

123487990433 sollte dann so ins excel eingefügt werden

123 48799 0433

kann mir jemand helfen?

gruss
tikami
Bild


Betrifft: AW: bestimmte zeichen eines textfiles einlesen von: Frank Domke
Geschrieben am: 06.04.2005 14:15:04

Hallo Tikami,
ich hatte ein ähnliches Problem und bin auf TextStraem gestoßen. Ich habe jetzt keine Zeit zum Anpassen, aber Du wirst Dich sicherlich zurecht finden!
In dieser Routine wird ein Text ohne "Enter" mit "Enter" nach einer definierten Länge (Me.txtSatzgroesse) gefüllt.
(Verweis auf "Windows Script Host Object Model" nicht vergessen!)

Private Sub ReadWrite()
    Dim objFso As FileSystemObject
    Dim objFileInput As File
    Dim objInput As TextStream
    Dim objFileOutput As File
    Dim objOutput As TextStream
    Dim strText As String
    
    Set objFso = New FileSystemObject
    
    Set objFileInput = objFso.GetFile(Me.txtDateiname)
    Set objInput = objFileInput.OpenAsTextStream(ForReading)
    
    objFso.CreateTextFile (Me.txtZiel)
    Set objFileOutput = objFso.GetFile(Me.txtZiel)
    Set objOutput = objFileOutput.OpenAsTextStream(ForAppending)
    Do While True
        On Error Resume Next
        strText = objInput.Read(Me.txtSatzgroesse)
        If Len(Trim(strText)) < 3 Then Exit Do
        objOutput.Write strText & vbCrLf
    Loop
    
    objOutput.Close
    Set objOutput = Nothing
    objInput.Close
    Set objInput = Nothing
    Set objFileInput = Nothing
    Set objFileOutput = Nothing
    Set objFso = Nothing
End Sub



 Bild

Beiträge aus den Excel-Beispielen zum Thema "bestimmte zeichen eines textfiles einlesen"