Senin, 26 Maret 2012

Cara Membuat File Excel Expired

Cara Membuat File Excel Expired Otomatis

Pengantar

Membatasi masa pakai sebuah file Excel sering menjadi kebutuhan, terutama ketika membuat aplikasi trial untuk pelatihan, ujian, atau produk digital. File "expired" artinya tidak dapat dibuka atau digunakan setelah jangka waktu tertentu atau jumlah pembukaan tertentu.

Konsep Dasar File Expired

Ada dua pendekatan umum yang sering digunakan dalam membatasi penggunaan file Excel:

  1. Membatasi waktu (misalnya hanya berlaku hingga tanggal tertentu)
  2. Membatasi jumlah pembukaan (misalnya hanya bisa dibuka 10 kali)

Pada artikel ini, kita akan membahas metode kedua: membatasi jumlah pembukaan file dengan bantuan Registry Windows dan kode VBA.

Memanfaatkan Registry Windows

Registry Windows adalah sistem database internal yang menyimpan informasi konfigurasi perangkat lunak. Dengan VBA, kita dapat memanfaatkan SaveSetting dan GetSetting untuk menulis dan membaca nilai dari Registry.

  • SaveSetting: Menyimpan nilai ke Registry
  • GetSetting: Mengambil nilai dari Registry

Semua entri akan disimpan pada lokasi HKEY_CURRENT_USER\Software\VB and VBA Program Settings.

Contoh Kode VBA

Masukkan kode berikut pada Workbook_Open di modul ThisWorkbook:

Private Sub Workbook_Open()
    Dim counter As Integer
    counter = GetSetting("TrialExcel", "Limit", "OpenCount", 0)
    counter = counter + 1

    If counter > 2 Then
        MsgBox "Masa trial sudah habis!", vbCritical
        ThisWorkbook.Close SaveChanges:=False
    Else
        SaveSetting "TrialExcel", "Limit", "OpenCount", counter
        MsgBox "File ke-" & counter & " kali dibuka."
    End If
End Sub

Kode di atas akan menambah jumlah pembukaan setiap kali file dibuka, dan akan menutup otomatis setelah lebih dari dua kali dibuka.

Memahami Struktur Registry

Saat kamu menjalankan SaveSetting, Excel akan membuat struktur registry seperti ini:

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ExcelTrial\Limit\Buka

Dengan penjelasan sebagai berikut:

  • "ExcelTrial" → Nama aplikasi
  • "Limit" → Seksi atau kategori
  • "Buka" → Nama kunci yang menyimpan angka pemakaian
  • Angka → Nilai jumlah pemakaian file

Untuk membaca nilainya, gunakan:

n = GetSetting("ExcelTrial", "Limit", "Buka", 0)

Angka 0 di akhir adalah nilai default jika registry belum pernah dibuat sebelumnya.

Alternatif & Pertimbangan

Meskipun metode ini cukup efektif untuk aplikasi sederhana, ada beberapa hal yang perlu diperhatikan:

  • Registry bisa dihapus oleh pengguna (jika tahu caranya)
  • Metode ini tidak mengamankan data penting dalam file
  • Untuk proteksi lebih kuat, gunakan tambahan password VBA dan enkripsi file

Untuk tambahan teknik lain, Anda bisa mempelajari artikel terkait tentang logika Boolean dan rumus kelulusan ujian sebagai pondasi sistem otomatisasi lainnya.

Penutup

Membuat file Excel yang memiliki masa berlaku terbatas dapat membantu dalam penyebaran aplikasi trial, latihan soal, dan laporan yang dibatasi penggunaannya. Dengan memanfaatkan SaveSetting dan GetSetting, Anda bisa membuat file yang "hidup" hanya dalam jumlah tertentu saja. Teknik ini mudah diterapkan, aman digunakan dalam lingkungan internal, dan sangat bermanfaat bagi guru, trainer, atau developer berbasis Excel.

File contoh telah diproteksi dengan password VBA: 123456 dan dapat didownload di tautan yang ini.

23 komentar:

Aziz mengatakan...

Bagus banget Mas,....
Saya udah coba & emang terbukti setelah 2x buka langsung bisa ngunci, tp file tsb jadi ga bisa dibuka lagi setelah terkunci, untuk bisa terbuka lagi saya coba2 rubah codingnya, tp kok ga bisa ya, Mas....? Jadi harus mananya yang dirubah...?

excell mengatakan...

pengaturan expired dilakukan pada Registry WIndows seperti pada gambar di atas. Agar bisa terbuka lagi, kita bisa hapus ENtry pada Registry yang telah dibuat, yakni "Pogramku" -- > "Demo" -- > "JumlahBuka".
Atau mengubah nilai pada "JumlahBuka" di registry menjadi 0 atau 1.

Untuk membuka Registry, Klik START pada windows, Ketikkan "regedit" di fitur pencarian. Lalu klik "Regedit". Carilah key seperti terlihat pada gambar di atas.

Anonim mengatakan...

bagaimana untuk mengaktifkan kembali setelah kode/serial dimasukan secara codingnya gimana ya..masih newbie mas

excell mengatakan...

kalau yang seperti itu, tentu lebih rumit codingnya:
Link berikut dari blognya Kang Syukron bisa dijadikan pedoman:
http://norkuys.wordpress.com/2012/04/11/tentang-konci-mengonci-pada-aplikasi-macro-excel-bikinan-saya/

Anonim mengatakan...

saya berminat ingin mempeljari aplikasi raport 2011-2012, jika saya meminta password berapa kira kira biaayanya, saya hamid guru smk dari jember jawa timur, mhn balasan secepatnya di nurhamid83@yahoo.com

excell mengatakan...

Tak perlu biaya. Di bagian akhir posting berikut sudah ada petunjuk untuk password sheet maupun VBA-nya.
http://excelheru.blogspot.com/2011/11/contoh-aplikasi-raport-yang-sudah-jadi.html

Anonim mengatakan...

tks infonya mas sukses slalu. klo bisa bahas juga mas tentang cara buat widget dashboard di excel

Aziz mengatakan...

Mantap, Mas....
Terima kasih atas tambahan ilmunya...
Karena saya jarang sekali mendapat ilmu yang seperti ini di malist lainnya...

Semangat, terus berkarya yah mas...

DeK_Ar mengatakan...

selamat pagi pak heru, setelah membaca-baca artikel yang bapak muat di blog ini saya sangat berminat untuk bisa menjadi seperti bapak. kalau bapak heru tidak keberatan saya juga ingin dikirmkan ebook(The Power of Excel), email : kdardika@yahoo.com atau kd.ardika@gmail.com terimakasih sekali atas bantuannya pak.. matur nuhun

Sua Betria Dhani mengatakan...

Luar biasa Pak Heru, Terima Kasih atas sharingnya...
Salam Kenal,,
From : Sua Betria Dhani

prazt mengatakan...

assalam mas heru, saya sudah mencoba file expired yang mas heru buat, cm saya ada pertanyaan sedikit mas, mungkin bisa dibantu. Bagaimana coding VBAnya jika kita menginginkan expirednya menggunakan batasan tanggal bukan batasan berapa kali file dibuka..??terimakasih

excell mengatakan...

Coba kode berikut!

Private Sub Workbook_Open()
Dim tglEx As Date
tglEx = "9/26/2012" 'tuliskan tgl expired di sini
If Date > tglEx Then
MsgBox " Expired alias kadaluarsa"
Application.DisplayAlerts = False
ThisWorkbook.Close
End If
End Sub

semar mengatakan...

maaf mas haerudin saya pemula ,,,
pengen nanya ntuk memasukkan macronya ke file excelnya gmn tutorialnya mas ,, mohon maaf mas maklum pemula pngen blajar ,,, saya harap mas haerudin brkenan menjawabnya ,,, trima kasih

excell mengatakan...

Tekan Alt + F11 di keyboard, kemudian cari item ThisWorkbook di panel sebelah kiri. Klik kanan, view Code. Tuliskan kodenya di area kosong sebelah kanan

semar mengatakan...

oke mas din thnx ,,, tp ntuk save n agr codenya berjalan gmn ,,, sekali lagi thnx sekali mas ,,, maklum ae bru knal vb ,,, makasih bnyak mas din

akh_isk mengatakan...

mas, klo kita maunya ngasih batas waktunya misal 30 hari, codenya bagaimana?

Unknown mengatakan...

Mas Heru bagaimana membuat file excel expired dengan cara countdown dan tidak tergantung pada tanggalan di kpmputer.

Mohon pencerahannya terima kasih

boby

wonokairun mengatakan...

saya sudah coba untu yg expired date tapi rasanya percuma, jika user mendisable macro di excel maka file masih bisa dibuka meski sdh di sett tgl expirednya

Anonim mengatakan...

Mas ilmu ini berguna banget mas. Mas, kalo mau dibuat mana yang lebih dulu antara tanggal expired dengan maksimal buka file cara gimana ya mas, terimakasih sebelumnya mas

Anonim mengatakan...

Pak heru saya ada file pdf yg diproteksi dng password. Untuk passwordnya sdh sya msukkan. Tpi file pdfnya expired (dibuat cman smpe tanggal tertentu bisa dibuka). Mohon bantuannya supaya file pdf bisa dibuka lagi. Caranya bagaimana ya?. Terimakasih

excelplatinum mengatakan...

Mas heru, mau tanya, gimana kode vba utk menghapus formula dlm file excel yg sudah direset/direcovery passwordnya? ini bertujuan melindungi file agar file excel yang sdh dibuka/direset passowrdnya sdh tdk bisa digunakan lagi. trima ksh sebelumnya. smg Allah membalas dg balasan yg lebih baik.

Anonim mengatakan...

Mas, kalau cara membuat expired pada aplikasi seperti: injector.exe gimana ya?????

Anonim mengatakan...

MLM pak Heru...Klu ingin membuka file Excel yg expired gmn...Terpassword vba,worsheetx juga...saKalangkong pak boss