Fail Teks Tulis VBA

Fail Teks Excel VBA Tulis

Di VBA kita dapat membuka atau membaca atau menulis fail teks, untuk menulis fail teks bermaksud data yang kita miliki dalam lembaran excel dan kita menginginkannya ke fail teks atau fail notepad, ada dua kaedah yang harus dilakukan, satu adalah dengan menggunakan harta benda Sistem Fail VBA dan yang lain adalah dengan menggunakan kaedah Buka dan tulis di VBA.

Di kebanyakan syarikat korporat, setelah laporan diselesaikan, mereka ingin memuat naik laporan tersebut ke pangkalan data. Untuk memuat naik ke pangkalan data mereka menggunakan format "Teks Fail" untuk memperbarui pangkalan data. Kami biasanya menyalin data dari excel dan tampal ke fail teks. Sebab mengapa kami bergantung pada fail teks kerana sangat senang digunakan kerana kaedahnya yang ringan dan sederhana. Dengan menggunakan pengekodan VBA kita dapat mengotomatisasi tugas menyalin data dari file excel ke file teks. Dalam artikel ini, kami akan menunjukkan kepada anda cara menyalin atau menulis data dari file excel ke file teks menggunakan VBA Code.

Bagaimana Menulis Data ke Fail Teks menggunakan VBA?

Menulis data dari excel ke teks adalah pengekodan yang kompleks dan memerlukan pengetahuan yang sangat baik mengenai pengekodan VBA. Ikuti langkah di bawah untuk menulis kod VBA untuk menyalin data dari excel ke fail teks.

Sebelum saya menunjukkan cara untuk menulis kod, izinkan saya menerangkan cara membuka fail teks dengan menggunakan pernyataan terbuka.

Sintaks Fail Teks Terbuka

Buka [Laluan Fail], Untuk [Mod], Sebagai [Nombor Fail]

Laluan Fail: Laluan fail yang cuba kita buka di komputer.

Mode: Mode adalah kawalan yang dapat kita miliki untuk membuka fail teks. Kita boleh mempunyai tiga jenis kawalan ke atas fail teks.

  • Mod Input: Ini menunjukkan kawalan " Hanya baca " pada fail teks pembuka. Jika kita menggunakan "Mod Input" kita tidak dapat melakukan apa-apa dengan fail. Kita hanya boleh membaca kandungan fail teks.
  • Mod Output: Dengan menggunakan pilihan ini kita dapat menuliskan isi di dalamnya. Perkara yang perlu kita ingat di sini adalah semua data yang ada akan ditimpa. Oleh itu, kita perlu waspada terhadap kemungkinan kehilangan data lama.
  • Append Mode: Mode ini sama sekali bertentangan dengan Mode OutPut. Dengan menggunakan kaedah ini kita benar-benar dapat menulis data baru di akhir data yang ada dalam fail.

Nombor Fail: Ini akan mengira nombor fail teks dari semua fail teks yang dibuka. Ini akan mengenali nombor fail yang dibuka dalam nilai bilangan bulat dari 1 hingga 511. Menetapkan nombor fail adalah rumit dan menimbulkan banyak kekeliruan. Untuk ini, kita boleh menggunakan fungsi Fail percuma.

Fail Percuma mengembalikan nombor unik untuk fail yang dibuka. Dengan cara ini kita dapat menetapkan nombor fail yang unik tanpa nilai pendua.

Anda boleh memuat turun Templat Fail Teks Tulis VBA ini di sini - Templat Fail Teks Tulis VBA

Contoh # 1

Ikuti langkah-langkah di bawah untuk menulis kod untuk membuat fail teks baru.

Andaikan anda sudah mempunyai fail teks bernama "Hello.txt" di storan komputer anda dan kami akan menunjukkan kepada anda cara menulis data di dalamnya.

Langkah 1: Menyatakan Pembolehubah

Menyatakan pemboleh ubah untuk menahan laluan Fail sebagai Rentetan.

Kod:

 Sub TeksFile_Contoh1 () Dim Dim Path Sebagai String End Sub 

Langkah 2: Tentukan Nombor Fail

Untuk menentukan nombor fail mana yang kita rujuk untuk menyatakan satu lagi pemboleh ubah sebagai Integer.

Kod:

 Sub TextFile_Contoh1 () Jalur Dim sebagai String Dim FileNumber Sebagai Sub Integer End 

Langkah 3: Tetapkan Laluan Fail

Sekarang untuk pemboleh ubah Path tetapkan jalan fail dengan nama fail.

Kod:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Tukar jalan mengikut keperluan anda End Sub 

Langkah 4: Tetapkan Fungsi Fail Percuma

Sekarang untuk pemboleh ubah Nombor Fail menetapkan fungsi "Fail Percuma" untuk menyimpan nombor fail yang unik.

Kod:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Tukar jalan mengikut keperluan anda FileNumber = FreeFile End Sub 

Langkah 5: Buka Fail Teks

Sekarang kita perlu membuka fail teks untuk bekerja dengannya. Seperti yang telah saya jelaskan, kita perlu menggunakan pernyataan TERBUKA untuk membuka fail teks.

Langkah 6: Gunakan Kaedah Cetak / Tulis

Setelah Fail dibuka, kita perlu menulis sesuatu di dalamnya. Untuk menulis dalam fail teks kita perlu menggunakan kaedah "Tulis" atau "Cetak".

Kod:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Tukar jalan mengikut keperluan anda FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Print #FileNumber, " Selamat Datang "Print #FileNumber," to "Print #FileNumber," VBA "End Sub 

Pertama, kita perlu menyebutkan nombor fail (di sini kita telah menetapkan fail melalui pemboleh ubah "FileNumber"), kemudian kita perlu menambahkan isi yang ingin kita tambahkan ke file teks.

Langkah 7: Simpan dan Tutup Fail Teks

Setelah kandungan ditulis dalam fail teks, kita perlu menyimpan dan menutup fail teks.

Kod:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Tukar jalan mengikut keperluan anda FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Print #FileNumber, " Selamat Datang "Print #FileNumber," to "Print #FileNumber," VBA "Close SubNumber End File 

Sekarang, jalankan kod ini secara manual atau melalui kunci pintas excel F5, ia akan menulis kandungan yang disebutkan dalam fail teks yang disebutkan.

Contoh # 2

Sekarang kita akan melihat bagaimana menulis data lembaran excel ke fail teks.

Untuk contoh ini, saya telah membuat data mudah di excel seperti di bawah.

Langkah 1: Dengan kesinambungan contoh lama, tentukan dua lagi pemboleh ubah sebagai Integer untuk mencari baris terakhir dan lajur terakhir.

Kod:

 Sub TeksFile_Contoh2 () Jalur Dim sebagai String Dim FileNombor Sebagai Integer Dim LR Sebagai Integer Dim LC Sebagai Integer End Sub 

Langkah 2: Cari baris dan lajur yang terakhir digunakan dalam lembaran kerja.

Langkah 3: Sekarang tetapkan laluan fail dan nombor fail.

Langkah 4: Sekarang gunakan pernyataan TERBUKA untuk membuka fail teks.

Langkah 5: Kita perlu mencari baris dan lajur, jadi nyatakan dua lagi pemboleh ubah sebagai Integer.

Langkah 6: Sekarang buka Loop untuk melintasi baris (Untuk gelung seterusnya di VBA)

Step 7: Now to loop through columns open one more loop inside the existing loop.

Step 8: We need to write the same line of data until it reaches the last column. So for this apply IF statement in VBA.

Step 9: Now save and close the text file.

This code will write the details to a text file, but to open the text file after written we need to use the below code.

Code:

 Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer Dim k As Integer Dim i As Integer LR = Worksheets("Text").Cells(Rows.Count, 1).End(xlUp).Row LC = Worksheets("Text").Cells(1, Columns.Count).End(xlToLeft).Column Path = "D:\Excel Files\VBA File\Hello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC If i  LC Then Print #FileNumber, Cells(i, k), Else Print #FileNumber, Cells(i, k) End If Next i Next k Close FileNumber Shell "notepad.exe " & Path, vbNormalFocus End Sub 

So, run the code using the F5 key or manually then, it will copy the data like the below.