Aleks911tat, Вот вариант решения
Код:
File1 = "D:\_Удали это\1.txt"
File2 = "D:\_Удали это\2.txt"
File3 = "D:\_Удали это\1new.txt"
WordKey = " StatsObject]"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.OpenTextFile(File2, 1, False) ' Открываем исходный текст файл для чтения
AllTxt = F.ReadAll() ' Cчитываем весь файл в строковую переменную
F.Close ' Закрываем файл
Mas = Split(AllTxt, vbCrLf) ' Разбиваем полученную строку в массив. Резделитель - конец строки и перевод строки vbCrLf
i0 = 0
ii = UBound(Mas)
Set F = FSO.OpenTextFile(File1, 1, False) ' Открываем исходный текст файл для чтения
Set FF = FSO.OpenTextFile(File3, 2, True) ' Создаём файл для записи результата
A = ""
wk = LCase(WordKey)
j = 0
Do While Not F.AtEndOfStream
InString = Trim(F.ReadLine)
If i0 <= ii Then
If Mid(InString, 1, 1) = "[" Then
If InStr(LCase(InString), wk) <> 0 Then
For i = i0 To ii
MM = Trim(Mas(i))
j = i
If Mid(MM, 1, 1) = "[" Then
InString = Replace(MM, "]", WordKey)
Exit For
End If
Next
i0 = j + 1
End If
End If
End If
FF.Write A + InString
A = vbCrLf
Loop
F.Close
FF.Close