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
No comments:
Post a Comment