|
|||||||
Построчное чтение текстового файла, При условии, что в теле файла есть символы EOF
Время создания: 16.03.2019 23:43
Текстовые метки: Excel, VBA, запись, файл, чтение, text, txt
Раздел: Разные закладки - VBA - Text
Запись: xintrea/mytetra_db_adgaver_new/master/base/15145550564tr7kkavty/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
mytetra://note/1518896750sz6jui0ua1 'Можно так, подключив библиотеку Microsoft Scripting Runtime Public Sub Checker2() 'http://vbhack.ru/uroki-vbscript/obekt-fso/urok-vbscript-n10-rabota-s-tekstovymi-dokument.html '******************************************************** 'Урок VBScript №10: 'Работа с текстовыми документами - TextStream. 'file_3.vbs '******************************************************** t = Timer Dim FSO, arr_Line, File, Txt, my_arr() Set FSO = CreateObject("Scripting.FileSystemObject")
'Set Txt = FSO.CreateTextFile("base.txt", True) 'Txt.Write ("строка 1" & vbCrLf & "строка 2" & vbCrLf & "строка 3" & vbCrLf & "строка 4" & vbCrLf & "строка 5" & vbCrLf & "строка 6")
Set File = FSO.OpenTextFile("путь.txt", 1)
arr_Line = 0
Do Until File.AtEndOfStream ' пока наступит конец файла ' ReDim Preserve my_arr(arr_Line) ' Debug.Print arr_Line & " - " & File.ReadLine ' my_arr(arr_Line) = File.ReadLine ' Считываем строку s = File.ReadLine ' Считываем строку arr_Line = arr_Line + 1 If (arr_Line Mod 1000000) = 0 Then Debug.Print arr_Line & " - " & s: DoEvents ' If arr_Line = 5000000 Then Stop Loop Debug.Print arr_Line File.Close 'закрываем base.txt Debug.Print Timer - t 'MsgBox my_arr(3) End Sub Public Sub Checker() Const FileName As String = "c:\ESRI\authorize.txt" Dim fso As New Scripting.FileSystemObject Dim pStream As Scripting.TextStream Dim Strs() As String, i As Long, sRow As String Set pStream = fso.OpenTextFile(FileName, ForReading) Strs = VBA.Split(pStream.ReadAll, vbNewLine) pStream.Close 'Естественно, если нужен только log, то 'перезаписывать файл не нужно, тогда убрать эту строку Set pStream = fso.CreateTextFile(FileName, True) 'цикл по строкам исходного файла 'а вы уверены, что в бинарной части 'не будет vbNewLine? For i = 0 To UBound(Strs) sRow = Strs(i) 'анализируем строку sRow на табуляцию и что-то с ней делаем '.... 'сохраняем изменённую строку, если нет перезаписи то и ниже комментируем pStream.WriteLine sRow Next i 'как и эту pStream.Close End Sub |
|||||||
Прикрепленные файлы:
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|