Как использовать код VBA для удаления пустых строк из текстового файла

Если вы когда-либо работали с текстовыми файлами, вы будете знать, насколько неприятным может быть удаление пустой строки. Частично проблема заключается в том, что вы не хотите удалять каждую пустую строку, потому что это может нарушить форматирование документа.

Эта статья покажет вам, как удалить фиксированное количество пустых строк из текстового файла, используя здоровую кодировку VBA.

Открытие и чтение текстового файла

Логика кода заключается в чтении каждой строки файла и сохранении строки в текстовой строке, если она соответствует нашим критериям. Затем напишите текстовую строку обратно в новый файл.

Сначала мы получим доступ к объекту файловой системы (FSO) и откроем файл с именем «blanks.txt». Код доступа к файловой системе — это тип процедуры, которая может храниться в библиотеке кодов, чтобы ее можно было использовать в будущем.

Dim fso As Scripting.FileSystemObject

Set fso = New Scripting.FileSystemObject
Dim myFile As Object
Dim filePath As String

filePath = ActiveWorkbook.path & " files blanks.txt"
Установите myFile = fso.openTextFile (filePath)

Удаление пустых строк

Теперь мы можем прочитать каждую строку в файле, но сначала мы должны рассмотреть код, который нам нужен, чтобы отклонить пустые строки.

Мы начнем с определения нескольких переменных и присвоения им начальных значений.

"Присоединить строку к новому файлу?

Dim includeLine As Boolean

& # 39; Текстовая строка для записи прикрепленных строк
Dim allTxt как строка

& # 39; Количество пустых строк, включаемых в новый файл
Dim CountBlanks As Long

countBlanks = 1
includeBlanks = 0
includeLine = False

Первоначальная настройка пустых строк установлена ​​на 1, поэтому мы не беспокоим ни один абзац. Если бы мы хотели удалить любую пустую строку, мы установили бы переменную в 0.

Теперь мы можем прочитать файл и сообщить коду, какие строки сохранить в новом файле.

Выполнить в myFile.AtEndOfStream

includeLine = False

txt = myFile.ReadLine

По умолчанию для каждой строки не помещается в новый файл, если только он не соответствует критериям, указанным в нескольких последующих строках кода. Количество пустых строк подсчитывается до тех пор, пока не будет найдена непустая строка, а затем счетчик будет сброшен на ноль.

        Выберите Case Len (TXT)

Дело 0

Если countBlanks <includeBlanks, то includeLine = True

countBlanks = countBlanks + 1

Дело остальное

countBlanks = 0

includeLine = True

Готово Выбрать

Если строка соответствует нашим параметрам, мы добавляем ее с символом новой строки в строку txt и продолжаем цикл.

Если вы включите Line тогда

allTxt = allTxt & txt и vbCrLf
Конец, если
петля

После окончания чтения текстового файла закройте файл и введите текстовую строку в новый файл.

myFile.close

filePath = ActiveWorkbook.path & " files blanksRemoved.txt"
Установите myFile = fso.CreateTextFile (filePath)
myFile.Write allTxt
myFile.close
Установить fso = ничего

При таком редактировании файлов важно не заменять исходный файл в случае, если произойдет что-то непредвиденное и все данные будут потеряны. Даже если вы уверены, что код работает правильно, рекомендуется сделать копию, используя VBA, для защиты исходных данных.

резюме

Поскольку работа с текстовыми файлами является обычным явлением для большинства программистов Excel, хорошей идеей является разработка соответствующих процедур, которые вы можете сохранить в будущем, вместо того, чтобы искать ответы, когда время стоит дорого.

Как использовать код VBA для удаления пустых строк из текстового файла: 0 комментариев

  • 24.05.2020 в 11:09
    Permalink

    Ваш комментарий ожидает проверки.

    Keks 9 линий и 5 вращающихся барабанов. Если вы поймаете три таких изображения на своих слотах — вы получите бонусный выигрыш — нажимайте на одну из трех одинаковых иконок и получите один из трех видов выигрыша — в долларах, серебром и, наконец, золотом. Знак Wild замирает на экране, после чего перед пользователем возникает мерцающее пламя, определяющее его дальнейшую судьбу. Перед юзером окажется колода карт, с одной открытой, принадлежащей дилеру. Символика и особенности игры Джек И Бобовый Стебель. Представляем Вашему вниманию ТОП 10 игр в жанре игровые автоматы по мнению OnyxGame. Онлайн-оператор Ladbrokes принимает необычные ставки на вторжение на Землю инопланетян в конце 2015 г. Наш список содержит только лучшие онлайн казино в интернете со всего мира!. Бесплатные игровые автоматы в онлайн режиме. Выбивайте на http://www.1xbet.com пяти барабанах беспроигрышные сочетания из трех одноименных символов и выигрывайте.

    Ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *