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.
Sumber
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.
Sumber
makasih min berguna sekali ini...
ReplyDeletesolder uap