Bagaimana cara membuat dan menulis ke file teks menggunakan vba?
Untuk membuat teks menggunakan kode VBA, Anda harus menggunakan metode CreateTextFile. Metode ini memungkinkan Anda mengatur lokasi di mana Anda ingin membuatnya. Metode ini memiliki sintaks di mana Anda dapat menentukan apakah Anda ingin menimpa file di lokasi dan menentukan apakah file tersebut dibuat sebagai file Unicode atau ASCII.
Buat file teks dengan VBA
Gunakan langkah-langkah berikut:
- Pertama, Anda perlu menggunakan objek FileSystemObject atau Folder untuk digunakan dengan metode ini.
- Setelah itu, Anda perlu membuat objek lain menggunakan metode CreateTextFile.
- Dalam kode ini, kami menggunakan TRUE untuk menimpa jika sudah ada file dengan nama yang sama di folder tersebut.
- Terakhir, saat Anda menjalankan makro ini, buat file teks baru di folder sebagai berikut.
Sub create_text_file() 'object to use as folder Dim fld As Object Set fld = CreateObject("Scripting.FileSystemObject") 'using create text file method Dim myFile As Object Set myFile = fld.CreateTextFile("C:UsersDellDesktopmyFoldermyTextFile.txt", True) End Sub
Sintaks metode CreateTextFile
CreateTextFile (filename, [ overwrite, [ unicode ]])
- nama file: Jalur dan nama file yang ingin Anda buat.
- overwrite: boolean untuk menentukan apakah Anda ingin menimpa file (jika sudah ada) (opsional).
- unicode: boolean untuk menentukan apakah file dibuat sebagai file Unicode atau ASCII (opsional).
Menulis ke file teks menggunakan VBA
Anda dapat menggunakan dua pernyataan untuk menulis data ke file teks:
- Tulis: Dengan pernyataan ini Anda dapat menulis data ke file teks di mana Anda akan memiliki koma di antara nilai, tanda kutip di sekitar string, dan tanda # di sekitar tanggal.
- Cetak: Dengan pernyataan ini Anda dapat menulis data ke file teks dengan tampilan persis seperti yang Anda miliki di spreadsheet Excel.
Sekarang kita akan melihat contoh kedua pernyataan dan memahami cara menulis kode lengkap untuk menulis ke file teks. Namun sebelum itu, Anda perlu memahami beberapa terminologi untuk menulis kode sesuai keinginan Anda.
- Untuk keluaran: Anda dapat menggunakan perintah ini ketika Anda ingin menulis data atau mengubah data dalam file teks.
- Sebagai masukan: dengan perintah ini Anda dapat mengekstrak data dari sebuah teks, tetapi Anda tidak akan dapat mengubah dan menambahkan data ke dalam file.
- Untuk menambahkan: Perintah ini membantu Anda menambahkan data baru di bagian bawah file teks.
- FreeFile: Anda dapat menggunakan ini untuk mengatur nomor file yang tidak digunakan untuk file teks yang ingin Anda gunakan sehingga Anda dapat merujuknya.
Sekarang mari kita menulis kode untuk memasukkan data ke dalam file teks.
- Pertama, Anda perlu mendeklarasikan variabel yang akan digunakan dalam kode.
- Setelah itu, Anda perlu menentukan rentang yang perlu Anda tulis ke file teks. Dan gunakan jumlah sel dalam rentang tersebut sebagai penghitung perulangan dengan mengaturnya ke variabel.
- Selanjutnya, Anda perlu mengatur alamat file teks tempat Anda ingin menambahkan data.
- Dari sana, Anda perlu mendeklarasikan perintah “FreeFile” ke variabel untuk mendapatkan nomor file.
- Sekarang Anda perlu membuat menggunakan perintah “Output” karena Anda perlu menambahkan data ke file.
- Terakhir, Anda perlu menggunakan loop “Untuk Berikutnya” untuk mendapatkan nilai rentang satu per satu dan menambahkannya ke file.
- Selain itu, Anda perlu menggunakan perintah tutup untuk menutup file teks setelah data ditambahkan ke dalamnya.
- Pada akhirnya, saat Anda menjalankan makro ini, makro ini menambahkan data dari rentang A1:A13 ke file teks yang Anda simpan di jalur yang Anda sebutkan.
Catatan: Pastikan untuk mengubah jalur file teks dari kode sesuai dengan jalur yang Anda miliki di sistem Anda.
Option Explicit Sub data_to_text_file() 'variables that you need to use in the code Dim TextFile As Integer Dim iCol As Integer Dim myRange As Range Dim cVal As Range Dim i As Integer Dim myFile As String 'define the range that you want to write Set myRange = Range("A1:A13") iCol = myRange.Count 'path to the text file (MAKE SURE TO CHANGE IT) myFile = "C:UsersDellDesktopNewFoldertextfile.txt" 'define FreeFile to the variable file number TextFile = FreeFile 'using append command to add text to the end of the file Open myFile For Output As TextFile 'loop to add data to the text file For i = 1 To iCol Print #TextFile, Cells(i, 1), Print #TextFile, Cells(i, 2) Next i 'close command to close the text file after adding data Close #TextFile End Sub