Тема: Как посчитать строки текстового файла?
Надо считать строки текстового файла в цикле с разделителем 1-несколько пробелов
Строки содержат по 2 слова: ключ и значение
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как посчитать строки текстового файла?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Надо считать строки текстового файла в цикле с разделителем 1-несколько пробелов
Строки содержат по 2 слова: ключ и значение
Option Explicit Const MY_FILE As String = "D:\ACAD_Settings\820-102.txt" Sub Main() Dim FileName As String Dim FileContent As String Dim FileNumber As Integer Dim LineCount As Integer FileNumber = FreeFile Open MY_FILE For Input As FileNumber LineCount = 0 Do While Not EOF(FileNumber) Line Input #FileNumber, FileContent LineCount = LineCount + 1 Loop Close FileNumber MsgBox LineCount End Sub
Только с разделителями и пробелами я что-то не понял.
> Только
с разделителями и пробелами я что-то не понял.
надо обработать строку FileContent, т.е. создать тип данных из 2-х элементов строковых и в него считывать строки
> Lidia
Так что является разделителем, пробел?
Как понимать: "1-несколько пробелов" - что между двумя словами может быть несколько пробелов?
Может, чего-то типа:
Option Explicit Dim Path_File As String Sub main() Dim ArV As Variant, i As Integer, MyArr() As Variant Path_File = "D:\test.txt" ArV = Massiv_from_file(Path_File, vbCrLf) For i = 0 To UBound(ArV) ReDim Preserve MyArr(i) MyArr(i) = Load_val(ArV(i)) Next i End Sub Public Function Massiv_from_file(Path As String, razdel As String) Dim TXT Dim stR1() As String Dim FN As Integer FN = FreeFile Dim FName As String FName = Path If Dir(Path) = "" Then MsgBox "Файл архива не найден" stR1 = Split("Файл архива не найден!Файл архива не найден", "!") Massiv_from_file = stR1 Exit Function End If Open FName For Input As #FN TXT = Input(LOF(FN), #FN) Close #FN stR1 = Split(TXT, razdel) Massiv_from_file = stR1 End Function Public Function Load_val(strn) Dim m(1) As String, temp As Variant temp = Split(strn, " ") m(0) = Trim(temp(0)) If UBound(temp) > 0 Then m(1) = Trim(temp(1)) Else m(1) = "-" End If Load_val = m End Function
Ошибка вышла. Функцию Load_val надо изменить:
Function Load_val(strn) Dim m(1) As String, temp As Variant temp = Split(strn, " ") m(0) = Trim(temp(0)) If UBound(temp) > 0 Then m(1) = Trim(temp(UBound(temp))) Else m(1) = "-" End If Load_val = m End Function
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как посчитать строки текстового файла?
Форум работает на PunBB, при поддержке Informer Technologies, Inc