1

我发现一个宏非常适合从指定目录中的文本文件导入数据。

我没有任何用 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
4

1 回答 1

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
于 2012-12-20T22:38:05.483 回答