我找到了一个非常适合从指定目录中的文本文件导入数据的宏。
我没有任何使用VBA编写的实际经验,但想知道是否有办法获取下面的代码并添加将宏检索数据的文件名放入列中的能力(像列A )。
我使用它来搜索100多个日志以获取特定数据,并且能够将这些日志中的所有数据导入excel使其变得非常简单。现在我只需要一种方法来查看数据来自哪个文件。在此先感谢,我期待着学到新的东西。
宏:
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("My File Path")
' set the starting point to write the data to
Set cl = ActiveSheet.Cells(1, 1)
' Loop thru all files in the folder
For Each file In folder.Files
' Open the file
Set FileText = file.OpenAsTextStream(ForReading)
' Read the file one line at a time
Do While Not FileText.AtEndOfStream
TextLine = FileText.ReadLine
' Parse the line into | delimited pieces
Items = Split(TextLine, "|")
' Put data on one row in active sheet
For i = 0 To UBound(Items)
cl.Offset(0, i).Value = Items(i)
Next
' Move to next row
Set cl = cl.Offset(1, 0)
Loop
' Clean up
FileText.Close
Next file
Set FileText = Nothing
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
答案 0 :(得分:2)
cl.value = file.Name
' Put data on one row in active sheet
For i = 0 To UBound(Items)
cl.Offset(0, i+1).Value = Items(i)
Next