Bagaimana Cara Menggunakan Kode VBA Untuk Menghapus Baris Kosong Dari File Teks

Jika Anda pernah bekerja dengan file teks, Anda akan tahu betapa frustrasinya menghapus garis-garis kosong. Sebagian dari masalahnya adalah Anda tidak ingin menghapus setiap baris kosong, jika tidak, ini mungkin mengganggu format dokumen.

Artikel ini akan menunjukkan kepada Anda cara menghapus sejumlah baris kosong dari file teks menggunakan beberapa pengkodean VBA akal sehat.

Membuka Dan Membaca File Teks

Logika kode melibatkan membaca setiap baris file, dan menyimpan baris ke dalam string teks jika memenuhi kriteria kami. Kemudian, kita akan menulis string teks kembali ke file baru.

Pertama, kita akan mengakses objek sistem file (FSO) dan membuka file, yang kita beri nama "blanks.txt". Kode untuk mengakses sistem file adalah jenis prosedur yang mungkin ingin Anda simpan dalam pustaka kode untuk referensi di masa mendatang.

Dim fso Sebagai Scripting.FileSystemObject

Set fso = Scripting Baru.FileSystemObject
Dim myFile Sebagai Objek
Dim filePath Sebagai String

filePath = ActiveWorkbook.path & " files blanks.txt"
Set myFile = fso.openTextFile (filePath)

Menghapus Garis Kosong

Sekarang, kita dapat membaca setiap baris dalam file tetapi pertama-tama kita perlu mempertimbangkan kode yang kita perlukan untuk membuang baris kosong.

Kami akan mulai dengan mendefinisikan beberapa variabel dan memberi mereka nilai awal.

'Sertakan baris di file baru?

Dim includeLine As Boolean

'String teks untuk menulis baris yang disertakan
Dim allTxt sebagai string

'Jumlah baris kosong untuk dimasukkan dalam file baru
Dim countBlank As As Long

countBlanks = 1
includeBlanks = 0
includeLine = False

Pengaturan awal untuk baris kosong ditetapkan pada 1, jadi kami tidak kesal setiap jeda paragraf. Jika kami ingin menghapus setiap baris kosong, kami akan mengatur variabel ke 0.

Sekarang kita dapat membaca file dan memberi tahu kode yang baris untuk menulis ke file baru.

Lakukan Hingga myFile.AtEndOfStream

includeLine = False

txt = myFile.ReadLine

Default untuk setiap baris adalah tidak memasukkannya ke dalam file baru kecuali memenuhi kriteria yang ditentukan dalam beberapa baris kode berikutnya. Jumlah garis kosong dihitung sampai garis yang tidak kosong ditemukan dan kemudian penghitung diatur kembali ke nol.

    Pilih Case Len (txt)

Kasus 0

Jika countBlanks <includeBlanks Kemudian includeLine = True

countBlanks = countBlanks + 1

Kasus Lain

countBlanks = 0

includeLine = True

Akhiri Pilih

Jika garis memenuhi parameter kami, maka kami menambahkannya dengan karakter baris baru ke string txt dan melanjutkan pengulangan.

Jika includeLine Kemudian

allTxt = allTxt & txt & vbCrLf
Berakhir jika
Loop

Dengan membaca file teks selesai, kami menutup file dan menulis string teks ke file baru.

myFile.close

filePath = ActiveWorkbook.path & " files blanksRemoved.txt"
Set myFile = fso.CreateTextFile (filePath)
myFile. Tuliskan allTxt
myFile.Close
Setel fso = Tidak ada

Dengan jenis pengeditan file ini, penting untuk tidak menimpa file asli jika terjadi sesuatu yang tidak terduga dan Anda kehilangan semua data. Bahkan ketika Anda yakin kode tersebut bekerja dengan benar, masuk akal untuk membuat salinan – menggunakan VBA – untuk melindungi data asli.

Ringkasan

Karena bekerja dengan file teks adalah kejadian umum bagi sebagian besar pengembang Excel, itu ide yang baik untuk mengembangkan prosedur yang relevan yang dapat Anda simpan untuk referensi di masa mendatang – daripada mencari jawabannya ketika waktu di premium.

Leave a Reply

Your email address will not be published. Required fields are marked *