VBA, MS Access MS Access в примерах

Текстовые Файлы - Построчное чтение


Private Sub FileToArray(sFilePath$)
Dim iFile As Integer
Dim sFileBody As String
Dim FileLines() As String
Dim lTotRecords&

    iFile = FreeFile
    Open sFilePath For Input As iFile
    sFileBody = Input(LOF(iFile), iFile)
    Close iFile
    FileLines = Split(sFileBody, vbNewLine)

    lTotRecords = UBound(FileLines)
    For lFileLine = LBound(FileLines) To lTotRecords
        'Debug.Print Format(lFileLine, "000000") & " =  " & FileLines(lFileLine)
        ' ...
    Next lFileLine
End Sub



Ещё вариант:

Private Sub esImportTextLineByLyne(sFilePath As String)
'es - 17.05.2013
'Построчное чтение текстового файла
'--------------------------------------------------------------------
Dim FF As Long
Dim i As Long     'Счетчик строк
Dim sLine As String

On Error GoTo esImportTextLineByLyne_Err
'Проверка наличия файла
    If Dir(sFilePath, vbNormal) = "" Then
        MsgBox "Не могу найти файл:" & vbCrLf & _
            sFilePath, vbCritical
        Exit Sub
    End If
'
'Обработка файла с данными - Чтение построчно
    FF = FreeFile
    Open sFilePath For Input As #FF ' Открывает файл для чтения.
    
    Do While Not EOF(1) ' Цикл до конца файла.
        Line Input #FF, sLine    'Читаем одну строку в переменную
        i = i + 1                'Счетчик принятых строк + 1
        Debug.Print "Строка #" & Format(i, "000") & ": " & sLine
    Loop
    Close #FF                    'Закрывает файл.


esImportTextLineByLyne_Bye:
    Exit Sub

esImportTextLineByLyne_Err:
    MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in procedure esImportTextLineByLyne", vbCritical, "Error!"
    Resume esImportTextLineByLyne_Bye
End Sub


Назад ToTop
L.E. 16.10.2022
Рейтинг@Mail.ru