Как преобразовать пакет из 30 текстовых файлов в книгу Excel? - PullRequest
0 голосов
/ 08 января 2019

У меня есть 30 текстовых файлов (пробные балансы), загруженных из бухгалтерского программного обеспечения и сохраненных по определенному пути к файлу (скажем, в папке).

Мне нужно открыть эти 30 текстовых файлов по одному и преобразовать их в Excel, а затем каждый файл должен быть сохранен как отдельный лист в новой книге Excel.

Как я могу это сделать?

1 Ответ

0 голосов
/ 08 января 2019

Следующая функция 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. Вам нужно объединить эти два фрагмента кода, чтобы получить желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...