Ich habe einen Code unten, die Daten aus allen Dateien im Verzeichnis importiert. Ich möchte die Dateneingabe nur auf TXT-Dateien beschränken. d. h. nur aus Textdateien importieren. Irgendeine Hilfe.Schleife durch nur Textdateien im Verzeichnis vorhanden Daten importieren vba mit
Sub ReadFilesIntoActiveSheet()
Dim fso As FileSystemObject
Dim folder As folder
Dim file As file
Dim FileText As TextStream
Dim TextLine As String
Dim Items() As String
Dim i As Long
Dim cl As Range
' Get a FileSystem object
Set fso = New FileSystemObject
' get the directory you want
Set folder = fso.GetFolder("D:\workdir\NX12IP25_RenewDaimler\textfiles\t")
Set cl = ActiveSheet.Cells(1, 1)
For Each file In folder.Files
Set FileText = file.OpenAsTextStream(ForReading)
Do While Not FileText.AtEndOfStream
TextLine = FileText.ReadLine
Items = Split(TextLine, "|")
cl.Value = folder & "\" & file.Name
For i = 0 To UBound(Items)
cl.Offset(0, i + 1).Value = Items(i)
Next
Set cl = cl.Offset(1, 0)
Loop
FileText.Close
Next file
Set FileText = Nothing
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
Wenn Sie nicht wollen, txt-Dateien auszuschließen, verwenden Sie 'Wenn Right (LCase (file.Name), 4) = ".txt" Then ...' – CLR
ok. Ich möchte aus verschiedenen Ordnern importieren, aber während ich gehe importieren überschreibt er auf vorige Daten, wie kann ich Daten aus der nächsten leeren Zeile importieren? –
Sie müssen die letzte verwendete Zeile ermitteln, die mit diesem Code ausgeführt werden kann: 'Cells (Rows.Count, Spalte) .End (xlUp) .Row', wobei' column' die Nummer einer Spalte angibt, für die Sie möchten Bestimmen Sie die zuletzt verwendete Zeile. –