VBA Menulis File Teks

Excel VBA Menulis File Teks

Di VBA kita bisa membuka atau membaca atau menulis file teks, untuk menulis file teks berarti data yang kita miliki di lembar excel dan kita ingin itu ke file teks atau file notepad, ada dua metode yang harus dilakukan, salah satunya adalah dengan menggunakan properti objek Sistem File VBA dan lainnya adalah dengan menggunakan metode buka dan tulis di VBA.

Di sebagian besar perusahaan korporat, setelah laporan selesai, mereka mengupload laporan ke database. Untuk mengupload ke database mereka menggunakan format "File Teks" untuk memperbarui database. Kami biasanya menyalin data dari excel dan menempelkannya ke file teks. Alasan mengapa kami mengandalkan file teks karena itu sangat mudah dikerjakan karena caranya yang ringan dan sederhana. Dengan menggunakan pengkodean VBA kita dapat mengotomatiskan tugas menyalin data dari file excel ke file teks. Pada artikel ini, kami akan menunjukkan kepada Anda cara menyalin atau menulis data dari file excel ke file teks menggunakan Kode VBA.

Bagaimana cara menulis data ke file teks menggunakan VBA?

Menulis data dari excel ke teks adalah pengkodean yang kompleks dan membutuhkan pengetahuan yang sangat baik tentang pengkodean VBA. Ikuti langkah-langkah di bawah ini untuk menulis kode VBA untuk menyalin data dari excel ke file teks.

Sebelum saya menunjukkan kepada Anda cara menulis kode izinkan saya menjelaskan cara membuka file teks dengan menggunakan pernyataan terbuka.

Sintaks File Teks Terbuka

Buka [Jalur File], Untuk [Mode], Sebagai [Nomor File]

Jalur File: Jalur file yang kami coba buka di komputer.

Mode: Mode adalah kontrol yang dapat kita miliki atas membuka file teks. Kami dapat memiliki tiga jenis kontrol atas file teks.

  • Mode Input: Ini menyarankan kontrol " Read-only " dari file teks pembuka. Jika kami menggunakan "Mode Input" kami tidak dapat melakukan apa pun dengan file tersebut. Kami tinggal membaca isi file teks.
  • Output Mode: Dengan menggunakan opsi ini kita dapat menulis konten di dalamnya. Hal yang perlu kita ingat disini adalah semua data yang ada akan ditimpa. Jadi, kita perlu mewaspadai kemungkinan hilangnya data lama.
  • Mode Tambahan : Mode ini benar-benar kebalikan dari Mode OutPut. Dengan menggunakan metode ini kita sebenarnya dapat menulis data baru di akhir data yang ada di file.

Nomor File: Ini akan menghitung nomor file teks dari semua file teks yang dibuka. Ini akan mengenali nomor file yang dibuka dalam nilai integer dari 1 hingga 511. Menetapkan nomor file adalah hal yang rumit dan menyebabkan banyak kebingungan. Untuk ini, kita dapat menggunakan fungsi File gratis.

File Gratis mengembalikan nomor unik untuk file yang dibuka. Dengan cara ini kita dapat menetapkan nomor file unik tanpa jenis nilai duplikat.

Anda dapat mendownload Template File Teks Tulis VBA ini di sini - Template File Teks Tulis VBA

Contoh 1

Ikuti langkah-langkah di bawah ini untuk menulis kode untuk membuat file teks baru.

Asumsikan Anda telah memiliki file teks bernama "Hello.txt" di penyimpanan komputer Anda dan kami akan menunjukkan cara menulis data di dalamnya.

Langkah 1: Deklarasikan Variabel

Deklarasikan variabel untuk menampung jalur File sebagai String.

Kode:

 Sub TextFile_Example1 () Dim Path As String End Sub 

Langkah 2: Tentukan Nomor File

Untuk menentukan nomor file mana yang kita maksud untuk mendeklarasikan satu variabel lagi sebagai Integer.

Kode:

 Sub TextFile_Example1 () Jalur Redup Sebagai String Redupkan FileNumber Sebagai Sub Integer End 

Langkah 3: Tetapkan Jalur File

Sekarang untuk variabel Path tetapkan path file dengan nama file.

Kode:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Ubah jalur sesuai kebutuhan Anda End Sub 

Langkah 4: Tetapkan Fungsi File Gratis

Sekarang untuk variabel Nomor File, tetapkan fungsi "File Gratis" untuk menyimpan nomor file unik.

Kode:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Ubah jalur sesuai kebutuhan Anda FileNumber = FreeFile End Sub 

Langkah 5: Buka File Teks

Sekarang kita perlu membuka file teks untuk mengerjakannya. Seperti yang telah saya jelaskan, kita perlu menggunakan pernyataan OPEN untuk membuka file teks.

Langkah 6: Gunakan Metode Cetak / Tulis

Setelah File dibuka, kita perlu menulis sesuatu di dalamnya. Untuk menulis di file teks kita perlu menggunakan metode "Write" atau "Print".

Kode:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Ubah jalur sesuai kebutuhan Anda FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Print #FileNumber, " Selamat datang di "Print #FileNumber", ke "Print #FileNumber," VBA "End Sub 

Pertama, kita perlu menyebutkan nomor file (di sini kita telah menetapkan file melalui variabel "FileNumber"), kemudian kita perlu menambahkan konten yang ingin kita tambahkan ke file teks.

Langkah 7: Simpan dan Tutup File Teks

Setelah konten ditulis dalam file teks, kita perlu menyimpan dan menutup file teks tersebut.

Kode:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Ubah jalur sesuai kebutuhan Anda FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Print #FileNumber, " Selamat datang "Cetak #FileNumber," ke "Cetak #FileNumber," VBA "Tutup FileNumber End Sub 

Sekarang, jalankan kode ini secara manual atau melalui shortcut excel key F5, itu akan menulis konten yang disebutkan di file teks yang disebutkan.

Contoh # 2

Sekarang kita akan melihat bagaimana menulis data lembar excel ke file teks.

For this example, I have created simple data in excel like below.

Step 1: With the continuation of the old example define two more variables as Integer to find the last row and last column.

Code:

 Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub 

Step 2: Find the last used row and column in the worksheet.

Step 3: Now assign the file path and file number.

Step 4: Now use the OPEN statement to open the text file.

Step 5: We need to loop through rows and columns, so declare two more variables as Integer.

Step 6: Now open Loop to loop through the row (For next loop in 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.