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 mengupdate database. Kami biasanya menyalin data dari excel dan menempelkannya ke file teks. Alasan mengapa kami mengandalkan file teks karena itu sangat mudah dikerjakan karena cara yang ringan dan sederhana. Dengan menggunakan pengkodean VBA, kita dapat mengotomatiskan tugas menyalin data dari file excel ke file teks. Di 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 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 konten file teks.
- Mode Output: Dengan menggunakan opsi ini, kita dapat menulis konten di dalamnya. Hal yang perlu kita ingat disini adalah semua data yang ada akan ditimpa. Jadi, kami 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 sampai 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.
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 yang kita maksud, nyatakan 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 FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile End Sub

Step 5: Open Text File
Now we need to open the text file to work with it. As I have explained, we need to use the OPEN statement to open the text file.

Step 6: Use the Print/Write Method
Once the File is opened, we need to write something in it. To write in the text file we need to use either the “Write” or “Print” method.
Code:
Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" End Sub

First, we need to mention the file number (here we have assigned the file through the “filenumber” variable), then we need to add the content we want to add to a text file.
Step 7: Save and Close Text File
Once the content is written in a text file, we need to save and close the text file.
Code:
Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" Close FileNumber End Sub

Now, run the code this manually or through shortcut excel key F5. It will write the mentioned content in the mentioned text file.

Example #2
Now we will see how to write the data of excel sheet to a text file.
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 the 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 FilesVBA FileHello.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
Jadi, jalankan kode tersebut menggunakan tombol F5 atau secara manual. Kemudian, itu akan menyalin data di bawah ini.
