У меня есть текстовый файл в этом синтаксисе:
'foo','bar'
'foo','foo bar'
'foo','foo
bar bar'
'bar', 'foo'
Я хочу найти каждую строку, которая не начинается с '
, и исправить их.Я хочу закончить:
'foo','bar'
'foo','foo bar'
'foo','foo bar bar'
'bar', 'foo'
Новая строка должна быть удалена и добавлена в конец предыдущей строки с пробелом.Мой код просматривает файл строка за строкой и проверяет, не совпадает ли уже первый символ с '
.
Я думал о добавлении каждой строки в массив и внесении исправлений в этот массив.Я бы использовал
Open myFile For Output As #1
Write #1, lineOfArray
Close #1
для обновления файла.
Мой текущий код:
Sub Update_File(fileToUpdate As String, fileSys As Variant)
Set File = fileSys.OpenTextFile(fileToUpdate)
Do Until File.AtEndOfStream
currentLine = File.ReadLine
If Left(currentFile, 1) <> "'" Then
'Magic here
End If
Loop
File.Close
End Sub
Я борюсь с тем, что является наилучшей практикой, а что является худым ибыстрый код, потому что скрипт должен запускать более 1000 файлов в конце.Я не знаю, возможно ли сохранить текущую и следующую строку, и если следующая строка не начинается с '
, затем currentLine = currentLine & " " & nextLine
и каким-то образом обновить файл, уменьшить значение цикла на единицу и продолжить.