Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
fName = "D:\Delete\111.txt"                     ' Где текстовый файл

iStrok = 3                                      ' В какой строке меняем текст
repTxt = "У попа была собака, он её любил"      ' Какой текст поместим в указанную строку

Set FSO = CreateObject("Scripting.FileSystemObject")

Set F = FSO.OpenTextFile(fName, 1, False)       ' Открываем исходный текст файл для чтения
AllTxt = F.ReadAll()                            ' Cчитываем весь файл в строковую переменную
F.Close                                         ' Закрываем файл

AllTxt = Replace(AllTxt, vbLf, "")              ' Удаляем все символы перевода строки в переменной
Mas = Split(AllTxt, vbCr)                       ' Разбиваем полученную строку в массив. Резделитель - конец строки vbCr
nStrok = UBound(Mas)                            ' Макс значение индекса массива (Число строк -1 в исходном тексте- нумерация элементов массива с 0)

AllTxt = ""

If nStrok + 1 >= iStrok Then
    Mas(iStrok - 1) = repTxt                    ' Заменяем нужный элемент массива (строку текста) заданной
    
    For i = 0 To nStrok
        If i <> nStrok Then
            AllTxt = AllTxt + Mas(i) + vbCrLf   ' Формируем строку из элементов массива, вставляя символы конца и перевода строки
        Else
            AllTxt = AllTxt + Mas(i)            ' В конце последней строки ничего не ставим
        End If
    Next
    
    Set F = FSO.OpenTextFile(fName, 2, False)   ' Открываем исходный файл для записи
    F.Write AllTxt                              ' Записываем полученное на место исходного файла
    F.Close                                     ' Закрываем файл
End If

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:39, 29-10-2011 | #4