Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск строки и замена строки в txt - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск строки и замена строки в txt (Макросы/Sub)
Поиск строки и замена строки в txt
Elhust Дата: Пятница, 12.07.2019, 18:02 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Есть Txt файл с такой внутрянкой
1 строка(Заменить этот текст)
2 строка(2)
3 строка(300)
условия таковы что нужно заменить(на любое слово) только если во второй строке стоит цифра 2
всю голову уже сломал ...
К сообщению приложен файл: __.txt (0.0 Kb)


Каждый сам выбирает правила игры

Сообщение отредактировал Elhust - Пятница, 12.07.2019, 18:05
 
Ответить
СообщениеЕсть Txt файл с такой внутрянкой
1 строка(Заменить этот текст)
2 строка(2)
3 строка(300)
условия таковы что нужно заменить(на любое слово) только если во второй строке стоит цифра 2
всю голову уже сломал ...

Автор - Elhust
Дата добавления - 12.07.2019 в 18:02
Elhust Дата: Пятница, 12.07.2019, 18:19 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Сделал но на мой взгляд очень топорно
[vba]
Код

Dim s As String, v As Variant, i As Long, l As Long
    Open "C:\Users\Desktop\Новый текстовый документ.txt" For Input As #1
    s = Input(LOF(1), 1)
    Close #1
    v = Split(s, vbCrLf)
    MsgBox v(1)
    MsgBox v(0)
    
    If v(1) = 2 Then
        Open "C:\Users\Desktop\Новый текстовый документ.txt" For Output As #2
            For i = 0 To UBound(v) - l
                s = v(i)
                s = Replace(s, v(0), "#4 Hello")
                Print #2, s
            Next
        Close #2
    End If
[/vba]


Каждый сам выбирает правила игры
 
Ответить
СообщениеСделал но на мой взгляд очень топорно
[vba]
Код

Dim s As String, v As Variant, i As Long, l As Long
    Open "C:\Users\Desktop\Новый текстовый документ.txt" For Input As #1
    s = Input(LOF(1), 1)
    Close #1
    v = Split(s, vbCrLf)
    MsgBox v(1)
    MsgBox v(0)
    
    If v(1) = 2 Then
        Open "C:\Users\Desktop\Новый текстовый документ.txt" For Output As #2
            For i = 0 To UBound(v) - l
                s = v(i)
                s = Replace(s, v(0), "#4 Hello")
                Print #2, s
            Next
        Close #2
    End If
[/vba]

Автор - Elhust
Дата добавления - 12.07.2019 в 18:19
bmv98rus Дата: Пятница, 12.07.2019, 21:35 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Elhust, ну можно заменить что нужно прямо в массиве, вернуть все в строку через Join, с тем же разделителем vbCrLf И все сразу выгрузить в другой файл.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеElhust, ну можно заменить что нужно прямо в массиве, вернуть все в строку через Join, с тем же разделителем vbCrLf И все сразу выгрузить в другой файл.

Автор - bmv98rus
Дата добавления - 12.07.2019 в 21:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск строки и замена строки в txt (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!