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 StringfilePath = 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 LongcountBlanks = 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.AtEndOfStreamincludeLine = 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.