Minggu, 27 November 2011

Cara Membuat Password Sheet yang Bisa Berubah Sendiri

Salah satu cara melindungi data di worksheet adalah dengan cara memproteksi sheet dan memberi password. Tulisan kali ini tentang cara membuat password yang bisa berubah sendiri. 
Secara sederhana, password yang akan kita buat berdasarkan nama hari saat kita membuka file. Cara seperti ini saya terapkan di File Program Raport Jadi pada posting saya sebelumnya. Langkah-langkahnya adalah:

  • Pertama, Kita buat Fungsi (UDF / User Defined Function) untuk menghasilkan password yang dimaksud. Langkah ini dimulai dengan memanfaatkan fungsi NOW di VBA untuk mendapatkan tanggal hari ini. Kemudian kita gunakan WorksheetFunction WEEKDAY untuk mendapatkan nomor hari. Terakhir, fungsi CHOOSE kita gunakan untuk mengkonversi Nomor Hari menjadi Nama Hari. Lengkapnya langkah pertama ini kita tuangkan dalam bahasa VBA sebagai berikut:

        Private Function PasswordKu() As String
                Dim NoHari As Integer
                      NoHari = Application.WorksheetFunction.Weekday(Now)
                      PasswordKu = Choose(NoHari, "minggu", "senin", "selasa", "rabu", "kamis", "jumat", "sabtu")
                End Function
  • Kedua, kita buat Prosedur yang akan dieksekusi saat file dibuka, yakni Sub Auto_Open(). Di mana dalam prosedur ini kita memprotect semua worksheet dengan Password yang telah kita tentukan sebagaimana langkah di atas. Penulisan di VBA adalah sebagai berikut:
        Sub Auto_Open()
                Dim ws As Worksheet
                     For Each ws In ThisWorkbook.Worksheets
                            ws.Protect PasswordKu
                    Next ws
                End Sub
  • Ketiga, kita buat prosedur untuk menghapus password pada saat file ditutup, yakni Sub Auto_Close(). Penulisannya di VBA adalah:
             Sub Auto_Close()
                          Dim ws As Worksheet
                                For Each ws In ThisWorkbook.Worksheets
                                   ws.Unprotect PasswordKu
                                Next ws
                          End Sub
Selesai.

Catatan: Penulisan kode makro di atas dengan cara:
1. Buka Excel
2. Tekan Alt F11
3. Insert > Module
4. Tuliskan kode macro-nya.
5. Tutup VBA Editor.
6. Simpan dengan format Excel 2003 atau .xlsm (macro-enabled)

Dengan cara di atas, maka setiap harinya, password proteksi worksheet kita akan berubah sesuai dengan nama hari (pakai huruf kecil semua, sesuai apa yang kita tulis di code).

Apa yang diungkapkan di atas hanyalah contoh sederhana saja, pengembangannya (untuk mendapatkan password yang lebih sulit, tergantung pada imajinasi dan kreatifitas kita sendiri). 

File contoh bisa didownload di Boxnet pada sidebar di samping atau di sini.




Artikel Terkait:

11 komentar:

ozan mengatakan...

mw tnya ne mas kalo untuk membatasi masa pemakaian aplikasi (aplikasi trial)yang kita buat di excel gimna ya caranya..tlong y mas klo ad contoh filenya bsa donk krm ke email q ozan_82@yahoo.com

excell mengatakan...

Sebenarnya ada beberapa menyiasati agar sebuah file dibatasi penggunaannya. Bisa dari jumlah file tersebut dibuka, bisa berdasarkan jumlah hari, bisa berpatokan pada tanggal tertentu. Bahkan bukan saja dibatasi penggunaannya, tapi setelah melewati waktu tertentu bisa dihapus filenya sekalian.
Sekedar file contoh salah satu metode sudah dikirim via email.

ozan mengatakan...

trmksh mas ilmunya..lain x blh y q tnya2 lg, mklm q lg snang2nya ne bljr excel

Unknown mengatakan...

Kalo boleh q jg mintak mas file seperti mas ozan tadi ini alamat email q mas dedyagussaputra@gmail.com
Terimah kasih ya sebelumya

excelplatinum mengatakan...

5635mas, kalo boleh tolong kirim contoh file utk membatasi pengggunaan file excel spt mas Ozan ke email sy: lie.chuen@gmail.com. terima ksh sebelumnya

sembara mengatakan...

sya jga mau Min, krim ke bara_eys@rocketmail.com
thank ya..

sembara mengatakan...

sya jga mau Min, krim ke bara_eys@rocketmail.com
thank ya..

Anonim mengatakan...

saya juga mau min, kirim ke jumroni269@gmail.com

Unknown mengatakan...

Kirimkan aku juga mas cara membatasi waktu pemakaian di excel
soekryspk@gmail.com

Unknown mengatakan...

Saya juga min...soekryspk@gmail.com

Unknown mengatakan...

Mas minta fil seperti mas ozan
Kirim ke achinuh1@gmail.com
Mator sakalangkong mogeh barokaah