Следующая функция like выведет список всех файлов по указанному пути. Отфильтруйте его в .TXT / .CSV, как вам нужно.
Function getFilesFromPath(ByVal sPath As String)
Dim fileList As Variant
Dim i As Integer
Dim obFile As Object
Dim obFSO As Object
Dim obFolder As Object
Dim obFiles As Object
Set obFSO = CreateObject("Scripting.FileSystemObject")
Set obFolder = oFSO.GetFolder(sPath)
Set obFiles = oFolder.Files
If obFiles.Count = 0 Then
Exit Function
End If
ReDim fileList(1 To obFiles.Count)
i = 1
For Each obFile In obFiles
fileList(i) = obFile.Name
i = i + 1
Next
getFilesFromPath = fileList
End Function
Следующим шагом является чтение файла. Следующий фрагмент кода поможет вам в этом.
myFile = "C:\MyFiles\file1.txt". ' myFile is a string variable
Open myFile For Input As #1. ' This opens the file for reading. "#1" is used as reference. You can open as many files as you want with #n.
Do Until EOF(1)
Line Input #1, textline
text = text & textline ' text is a string variable
Loop
Следующий код запишет данные в таблицу
Range("A1").Value = text. ' This will write value of variable 'text' in cell A1.
Конечно, в зависимости от данных и ваших требований, вам нужно либо разбить данные на переменные 'text' на основе разделителя, либо использовать функцию преобразования текста в столбец в MS-Excel. Вам нужно объединить эти два фрагмента кода, чтобы получить желаемый результат.