Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.txt Dateien auslesen und + 1 Zeile ausgeben

Forumthread: .txt Dateien auslesen und + 1 Zeile ausgeben

.txt Dateien auslesen und + 1 Zeile ausgeben
29.10.2024 16:29:08
thomas
Hallo zusammen,

kann mir bitte bitte einer sagen, wie ich den folgenden Marko erweitern kann.
Der Makro ist so aufgebaut, dass .txt Datein nacheinander im Ordner ausgelesen werden. Er soll nach den szSuch1 Begriff suchen und mit der ausgelesene zeile gmatchen. Ist das zutreffend dann wird die Zeile in ein Excel Sheet eingelesen.
Soweit so gut, jetzt das Problem :(
Da aber durch ein Zeilenumbruch die Info nicht vollständig ist, muss ich die untere mit auslesen.
Ich habe schon so einige Möglichkeite versucht im Sub "Sub ReadTextFile" mit Offset, .End(x1down), aber leider kein Ergebnis bekommen.


Ich hoffe es kann mir hier einer helfen.
Danke schonmal Vorab für eure Unterstützung.

VG Thomas



Dim FSO As Object
Const RootFolderName = "C:\Desktop\Neuer Ordner" ' Quellpfad angeben
Const FileNameFilter = "*.txt"
Const szSuch1 = "MIA\ADM"

Dim j As Integer 'Zählvariable
Dim i As Integer

Dim ws As Excel.Worksheet

Sub LoopFolder()
Dim Folder As Object, File As Object
Set ws = Sheets("Hilfsdaten") ' Zieldatei anlegen / überschreiben
j = 2
If FSO Is Nothing Then Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(RootFolderName)

For Each File In Folder.Files
If File.Name Like FileNameFilter Then ReadTextFile File.Path
Next
End Sub

Sub ReadTextFile(ByVal Path As String)
Dim SourceFile As Object, Line As String
Dim line2 As String

Set SourceFile = FSO.OpenTextFile(Path, 1) ' Quelldatei öffnen
Do Until SourceFile.AtEndOfStream ' Gesamtes TextDok durchgehen
Line = SourceFile.readline ' Zeile aus Quelldatei einlesen
If InStr(Line, szSuch1) Then
ws.Cells(j, 1).Value = Line 'Wert in Spalte A schreiben
j = j + 1 'Zähler für nächste Zeile erhöhen
End If
Loop
End Sub
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .txt Dateien auslesen und + 1 Zeile ausgeben
29.10.2024 17:00:07
UweD
Hallo

Mangels Beispiel nicht zu Ende getestet

Bei Line 2 musst du das Ende der Zeile noch irgendwie an Deine Daten anpassen

Also so in der Art, wenn das letzte Zeichen ein Enter ist, dann lies die 2. Zeile usw...


Sub ReadTextFile(ByVal Path As String)

Dim SourceFile As Object, Line As String
Dim line2 As String

Set SourceFile = FSO.OpenTextFile(Path, 1) ' Quelldatei öffnen
Do Until SourceFile.AtEndOfStream ' Gesamtes TextDok durchgehen
Line = SourceFile.readline ' Zeile aus Quelldatei einlesen
If InStr(Line, szSuch1) Then
ws.Cells(j, 1).Value = Line 'Wert in Spalte A schreiben
j = j + 1 'Zähler für nächste Zeile erhöhen
If Right(Line, 1) = vbLf Then
line2 = SourceFile.readline
ws.Cells(j, 1).Value = line2
j = j + 1 'Zähler für nächste Zeile erhöhen
End If
End If
Loop
End Sub


LG UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige