Anda dapat bekerja dengan file di Visual Basic dengan menggunakan object FSO yang berorientasi object, seperti: Copy, Delete, Move, dan OpenAsTextStream, di antara yang lainnya, atau dengan menggunakan fungsi-fungsi lama yang sudah ada, seperti: Open, Close, FileCopy, GetAttr, dan sebagainya. Anda juga dapat memindahkan, menyalin, atau menghapus file tanpa memperhatikan tipe file mereka.
Untuk informasi lebih lanjut mengenai penggunaan fungsi-fungsi lama yang sudah ada, baca artikel yang berjudul “Pemrosesan File dengan Fungsi dan Pernyataan Lama Input/Output File”. Sisa dari artikel ini akan membahas mengenai penggunaan object, method, dan properties FSO, untuk bekerja dengan file.
Ada dua kategori utama dari pemanipulasian file:
Ada tiga cara untuk membuat sebuah file teks yang bersifat sekuensial (kadang-kadang disebut sebagai “text stream”). Salah satu cara itu adalah menggunakan method CreateTextFile. Untuk membuat sebuah file teks yang isinya kosong, gunakan kode ini:
Model object FSO belum mendukung pembuatan file random atau file binary. Untuk membuat file random dan binary, gunakan perintah Open apakah dengan memakai penanda (flag) Random atau Binary.
Informasi lengkap bagaimana memanipulasi file random dan binary
terdapat di artikel yang berjudul “Penggunaan Akses File Random” dan
“Penggunaan Akses File Binary”.
Cara lain untuk menggunakan method OpenTextFile dari object FileSystemObject dengan menambahkan penanda (flag) ForWriting:
Atau Anda dapat menggunakan method OpenAsTextStream dengan menambahkan penanda (flag) ForWriting:
Penambahan Data ke File
Sekali file text telah dibuat, Anda dapat menambahkan data ke dalamnya dengan tiga in cara:
Untuk menulis data ke file text yang terbuka, Anda dapat menggunakan method Write atau WriteLine dari object TextStream. Perbedaan satu-satunya antara Write dan WriteLine adalah WriteLine menambahkan karakter baris baru ke bagian akhir dari string yang ditentukan.
Jika Anda ingin menambahkan sebuah baris baru ke file text, gunakan method WriteBlankLines.
Untuk menutup sebuah file yang terbuka, gunakan method Close dari object TextStream.
Berikut ini contoh bagaimana membuka sebuah file, menggunakan tiga kali method penulisan untuk menambahkan data ke dalam file, lalu menutup file tersebut:
Pembacaan File dengan File System Objects
Untuk membaca data dari sebuah file text, gunakan ketiga method Read, ReadLine, atau ReadAll dari object TextStream:
Jika Anda menggunakan method Read atau ReadLine dan Anda ingin melewati ke sebuah bagian data tertentu, Anda dapat menggunakan method Skip atau SkipLine.
Hasil teks dari method pembacaan ditempatkan di dalam sebuah string yang dapat ditampilkan di sebuah control, dipotong oleh operator string (seperti Left, Right, dan Mid), digabungkan, dan sebagainya.
Konstanta vbNewLine mengandung sebuah karakter atau karakter-karakter (tergantung pada sistem operasi) untuk melanjutkan kursor ke bagian permulaan pada baris berikutnya (carriage-return/linefeed). Berhati-hatilah bahwa akhir dari beberapa string mungkin mengandung karakter yang tidak dapat dicetak.
Perhatikan contoh berikut:
Pemindahan, Penyalinan, dan Penghapusan File
Model object FSO memiliki dua method yang masing-masing untuk memindahkan, menyalin, dan menghapus file:
Contoh berikut membuat sebuah file text di dalam
direktori utama drive C, menuliskan beberapa informasi ke dalamnya,
memindahkannya ke sebuah direktori yang bernama \tmp, membuat sebuah salinannya di dalam sebuah direktori yang bernama \temp, lalu menghapus salinan dari kedua direktori tadi.
Untuk menjalankan contoh ini, pastikan Anda memiliki direktori bernama \tmp dan \temp di direktori utama dari drive C.
Untuk informasi lebih lanjut mengenai penggunaan fungsi-fungsi lama yang sudah ada, baca artikel yang berjudul “Pemrosesan File dengan Fungsi dan Pernyataan Lama Input/Output File”. Sisa dari artikel ini akan membahas mengenai penggunaan object, method, dan properties FSO, untuk bekerja dengan file.
Ada dua kategori utama dari pemanipulasian file:
- Pembuatan, penambahan, atau penghapusan data, dan pembacaan file
- Pemindahan, penyalinan, dan penghapusan file
Ada tiga cara untuk membuat sebuah file teks yang bersifat sekuensial (kadang-kadang disebut sebagai “text stream”). Salah satu cara itu adalah menggunakan method CreateTextFile. Untuk membuat sebuah file teks yang isinya kosong, gunakan kode ini:
Dim fso As New FileSystemObject, fil As File Set fil = fso.CreateTextFile("c:\testfile.txt", True)
Cara lain untuk menggunakan method OpenTextFile dari object FileSystemObject dengan menambahkan penanda (flag) ForWriting:
Dim fso As New FileSystemObject, ts As TextStream Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)
Dim fso As New FileSystemObject, fil As File, ts As TextStream Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile ("test1.txt") Set fil = fso.GetFile("test1.txt") Set ts = fil.OpenAsTextStream(ForWriting)
Sekali file text telah dibuat, Anda dapat menambahkan data ke dalamnya dengan tiga in cara:
- Membuka file text untuk penulisan data.
- Menulis data.
- Menutup file.
Untuk menulis data ke file text yang terbuka, Anda dapat menggunakan method Write atau WriteLine dari object TextStream. Perbedaan satu-satunya antara Write dan WriteLine adalah WriteLine menambahkan karakter baris baru ke bagian akhir dari string yang ditentukan.
Jika Anda ingin menambahkan sebuah baris baru ke file text, gunakan method WriteBlankLines.
Untuk menutup sebuah file yang terbuka, gunakan method Close dari object TextStream.
Berikut ini contoh bagaimana membuka sebuah file, menggunakan tiga kali method penulisan untuk menambahkan data ke dalam file, lalu menutup file tersebut:
Sub Create_File() Dim fso, txtfile Set fso = CreateObject("Scripting.FileSystemObject") Set txtfile = fso.CreateTextFile("c:\testfile.txt", True) txtfile.Write ("Ini hanya sebuah percobaan. ") ' Tulis sebuah baris. ' Tulis sebuah baris dengan karakter baris baru. txtfile.WriteLine("Percobaan 1, 2, 3.") ' Tulis tiga karakter baris baru ke file. txtfile.WriteBlankLines(3) txtfile.Close End Sub
Untuk membaca data dari sebuah file text, gunakan ketiga method Read, ReadLine, atau ReadAll dari object TextStream:
Tugas | Method |
Membaca sejumlah karakter tertentu dari sebuah file | Read |
Membaca seluruh karakter dalam satu baris (sampai dengan, tapi tidak termasuk, karakter baris baru) | ReadLine |
Membaca keseluruhan isi file text | ReadAll |
Hasil teks dari method pembacaan ditempatkan di dalam sebuah string yang dapat ditampilkan di sebuah control, dipotong oleh operator string (seperti Left, Right, dan Mid), digabungkan, dan sebagainya.
Konstanta vbNewLine mengandung sebuah karakter atau karakter-karakter (tergantung pada sistem operasi) untuk melanjutkan kursor ke bagian permulaan pada baris berikutnya (carriage-return/linefeed). Berhati-hatilah bahwa akhir dari beberapa string mungkin mengandung karakter yang tidak dapat dicetak.
Perhatikan contoh berikut:
Sub Read_Files() Dim fso As New FileSystemObject, txtfile, _ fil1 As File, ts As TextStream fso.CreateTextFile "c:\testfile.txt", True MsgBox "Penulisan file" ' Tulis sebuah baris. Set fil1 = fso.GetFile("c:\testfile.txt") Set ts = fil1.OpenAsTextStream(ForWriting) ts.Write "Halo dunia" ts.Close ' Baca isi file. Set ts = fil1.OpenAsTextStream(ForReading) s = ts.ReadLine MsgBox s ts.Close End Sub
Model object FSO memiliki dua method yang masing-masing untuk memindahkan, menyalin, dan menghapus file:
Tugas | Method |
Memindahkan sebuah file | File.Move atau FileSystemObject.MoveFile |
Menyalin sebuah file | File.Copy atau FileSystemObject.CopyFile |
Menghapus sebuah file | File.Delete atau FileSystemObject.DeleteFile |
Untuk menjalankan contoh ini, pastikan Anda memiliki direktori bernama \tmp dan \temp di direktori utama dari drive C.
Sub Manip_Files() Dim fso as New FileSystemObject, txtfile, fil1, fil2 Set txtfile = fso.CreateTextFile("c:\testfile.txt", True) MsgBox "Penulisan file" ' Tulis sebuah baris. txtfile.Write ("Ini hanya percobaan.") ' Tutup file untuk penulisan. txtfile.Close MsgBox "Memindahkan file ke c:\tmp" ' Dapatkan penanganan ke file di direktori utama C:\. Set fil1 = fso.GetFile("c:\testfile.txt") ' Pindahkan file ke direktori \tmp. fil1.Move ("c:\tmp\testfile.txt") MsgBox "Menyalin file ke c:\temp" ' Salin file ke \temp. fil1.Copy ("c:\temp\testfile.txt") MsgBox "Menghapus file" ' Dapatkan penanganan ke lokasi file saat ini. Set fil1 = fso.GetFile("c:\tmp\testfile.txt") Set fil2 = fso.GetFile("c:\temp\testfile.txt") ' Hapus file. fil1.Delete fil2.Delete MsgBox "Semua telah dilakukan!" End Sub
Maaf saya ingin tanya,
BalasHapussaya membuat acak angka dengan vb untuk NIM Mahasiswa
saya ingin bermaksud apabila NIM yang diacak sudah keluar maka tidak bisa keluar lagi di pengacakan.
jika boleh mohon bantuannya.
NIM Mahasiswa ada 10 digit.
saya pernah diberitahukan menggunakan flag (jika tidak salah) tetapi belum bisa terpakai/sukses dan sekarang malah bingung.
ynnrny@gmail.com