Tutorial kali ini lebih dikenal dengan File Excel Bunuh Diri.
Ya, dengan bantuan script VBA sebuah file Excel bisa dibuat menghapus dirinya sendiri. Biasanya cara ini digunakan untuk sebuah aplikasi VBA yang berbatas waktu atau berbatas masa penggunaan.
File excel yang diberi batas penggunaan dan kemudian jika file tersebut digunakan setelah waktu pemakaiannnya habis, maka file tersebut akan hilang dengan sendirinya.
Logika yang digunakan pada teknik diatas sangat sederhana, yang diperlukan hanya melakukan pengecekan pada tanggal yang sudah ditentukan. Jika tanggal terlewati maka proses menghapus file dijalankan.
Script pengecekan ini bisa di simpan di Events Workbook_open agar setiap file dibuka dilakukan pengecekan.
Private Sub Workbook_Open() Dim TanggalExpired As Date TanggalExpired = #11/9/2023# If TanggalExpired <= Date Then MsgBox "Masa Trial sudah habis!" & vbNewLine & _ "File ini akan terhapus otomatis", vbInformation With ThisWorkbook .ChangeFileAccess xlReadOnly Kill .FullName .Close False End With Exit Sub Else MsgBox "Masa Trial tinggal " & TanggalExpired - Date & " Hari lagi" End If End Sub
Jika tanggal expired yang ada pada script tidak ingin ditampilkan, kamu juga bisa menggunakan satuan Unix Timestamp atau Epoch.
Pada scriptnya di tambahkan function untuk mendapatkan epoch dari waktu saat ini, dan hasil scriptnya menjadi
Private Sub Workbook_Open() Dim TanggalExpired As Long TanggalExpired = 1700333373 If TanggalExpired <= Epoch Then MsgBox "Masa Trial sudah habis!" & vbNewLine & _ "File ini akan terhapus otomatis", vbInformation With ThisWorkbook .ChangeFileAccess xlReadOnly Kill .FullName .Close False End With Exit Sub Else MsgBox "Masa Trial tinggal " & TanggalExpired - Date & " Hari lagi" End If End Sub Function Epoch() Epoch = DateDiff("s", "1/1/1970", Now) End Function
Pada Epoch diatas 1700333373 itu sama artinya dengan 18 November 2023 18:49:33 GMT+0000. Sehingga File ini akan dihapus jika sudah melewati 18 November.