Skip to main content

Membuat File Teks dengan Access VBA

File teks atau dalam bahasa Inggris disebut text file adalah salah satu bentuk file yang paling sederhana. Disebut paling sederhana karena file teks ini sangat mudah dibuat, baik melalui command-line, notepad, wordpad, bahkan MS Word sekalipun. Bahkan file teks ini bisa dibuat di lingkungan sistem operasi seperti Unix, Linux, MacOs, Windows, dan masih banyak lagi.


File teks merupakan salah satu perangkat yang berdayaguna dan paling banyak digunakan oleh administrator sistem. Banyak sekali keunggulan file teks, seperti:
  1. Mudah dibuka dengan berbagai macam aplikasi dan sistem operasi
  2. Ringan untuk ditampilkan, karena tidak memakan memori yang banyak
  3. Mudah untuk dibuat dan mudah pula untuk ditransfer ke mana pun kita inginkan.
  4. Kode script yang dibuat dengan file teks dapat dikopi dan dibuka di hampir semua jenis komputer.
Selain itu, menggunakan file teks merupakan salah satu cara untuk menulis dan menyimpan data ataupun program dengan cepat sesuai standar pemrograman. File teks dapat digunakan untuk menyimpan data yang akan dijalankan di command line tools atau dibuat program. Selain berisi program yang dapat dieksekusi di command line, file teks juga dapat berisi data yang bisa dibuka dengan berbagai macam aplikasi perkantoran seperti Word, Excel, dan Access.

File yang bisa dikategorikan sebagai file teks

Sebuah file bisa dikategorikan file teks jika data yang berada di dalamnya hanya berisi teks berupa huruf, angka, simbol-simbol yang digunakan untuk menulis (contoh simbol: !<@,#, dst.), dan tersusun dalam suatu barisan. Contoh file teks misalnya file-file yang mempunyai ekstensi .txt, .html, .xml, .js, dan sebagainya.


FileSystemObject mempunyai sejumlah metode untuk membaca dan menulis file teks.

Membuat File Teks

Dengan FSO, kita bisa membuka dan mengedit file teks yang sudah ada atau membuat file teks baru. Untuk membuat file teks yang baru, caranya cukup mudah, kurang lebih sama seperti kita membuat folder dengan FSO. Syntax penulisannya seperti ini:
set objFile = objFSO.CreateTextFile(NamaPath, (Optional) Overwrite)
Parameter NamaPath adalah nama string dari file teks beserta lokasi direktori, sedangkan parameter Overwrite adalah nilai Boolean yang bisa bernilai True/benar atau False/salah, sifatnya opsional (bisa diisi atau dikosongkan). Secara default, Overwrite bernilai True, yang berarti bila ada file yang sama dengan parameter NamaPath, maka file itu akan ditimpa.

Berikut ini adalah contohnya:
Function membuatTextFile(strNamaFile As String)  
  Dim fso As Object
  Dim strPathFile As String
  Dim oFile As Object
  
  strPathFile = CurrentProject.Path & "\" & strNamaFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set oFile = fso.CreateTextFile(strPathFile)

  Debug.Print "File teks sudah dibuat dengan nama: " & strPathFile

  oFile.Close
  Set fso = Nothing
  Set oFile = Nothing
End Function

Fungsi di atas digunakan untuk membuat file teks dengan nama strNamaFile di folder CurrentProject.Path (folder tempat file database Access sedang dibuka). Jika file tidak ada, metode CreateTextFile akan membuat file teks itu. Jika file sudah ada, maka CreateTextFile akan menghapusnya dan mengganti dengan yang baru dan belum ada isinya. Berikut ini contoh aplikasi fungsi di atas:

membuatTextFile(format(now(),"YYYYMMDDHHNNSS")&".txt")

Fungsi itu akan membuat file teks dengan nama yang mempunyai urutan waktu sebagai berikut:
tahun (YYYY, 4 digit) bulan (MM) hari (DD) jam (hh) menit (NN) detik (SS)

Semua kode urutan waktu dinyatakan dengan digit numerik. Kecuali angka tahun yang berjumlah 4 digit, semuanya berjumlah 2 digit numerik.

Bila parameter Overwrite diberi nilai False dan ada file yang dengan nama yang sama dengan .... maka akan muncul run-time error. Untuk itu kita harus mengarahkan sedemikian rupa sehingga bila ada nama file yang sama dengan ..., maka kita bisa menanyakan lebih dahulu, apakah akan ditimpa atau tidak.

Function membuatTextFile(strNamaFile As String)    
  Dim fso As Object
  Dim strPathFile As String
  Dim oFile As Object
  Dim boolOverwrite As Boolean
  
  strPathFile = CurrentProject.Path & "\" & strNamaFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  boolOverwrite = False
  If fso.FileExists(strPathFile) Then
    Debug.Print "File teks dengan nama: " & strPathFile & " sudah ada"
    If MsgBox("File teks dengan nama: " & strPathFile & " sudah ada. Ditimpa?", vbYesNo) = vbYes Then
      boolOverwrite = True
      fso.deleteFile (strPathFile)
    End If
  Else
      boolOverwrite = True
  End If
  
  If Not boolOverwrite Then Exit Function
  Set oFile = fso.CreateTextFile(strPathFile, False)
  Debug.Print "File teks sudah dibuat dengan nama: " & strPathFile
  
  oFile.Close
  Set fso = Nothing
  Set oFile = Nothing
End Function

Contoh berikut ini akan membuat file standar HTML dengan nama contoh.html:
Function membuatHtmlFile()
  
  Dim fso As Object
  Dim strPathFile, strNamaFile As String
  Dim oFile As Object
  Dim boolOverwrite As Boolean
  
  strNamaFile = "contoh.html"
  strPathFile = CurrentProject.Path & "\" & strNamaFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set oFile = fso.CreateTextFile(strPathFile)
  oFile.WriteLine ""
  oFile.WriteLine "  "
  oFile.WriteLine "    Contoh FSO Text File"
  oFile.WriteLine "  "
  oFile.WriteLine "  "
  oFile.WriteLine "    

Contoh FSO Text File

" oFile.WriteLine " File ini merupakan contoh FSO dengan menggunakan metode CreateTextFile" oFile.WriteLine " Kunjungi Access Terapan untuk belajar MS Access lebih jauh" oFile.WriteLine " " oFile.WriteLine "" oFile.Close Set fso = Nothing Set oFile = Nothing End Function

Seperti diketahui, elemen html yang paling sederhana terdiri dari html, head, title, body. Pada bagian body, kita bisa menambahkan berbagai macam data yang dibutuhkan. Seperti judul yang menggunakan elemen h1

Berbagai contoh pembuatan file teks di atas semoga dapat membantu memahami apa itu file teks. Contoh-contoh di atas dapat dijalankan dengan menggunakan Immediate Window di Access VBA Editor.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access