Bu derste, VBA komutlarıyla bir sayfayı veya tüm çalışma kitabını korumayı, ve isterseniz kendi özel şifre mantığınızı kurmayı göstereceğiz.
Sayfayı Koru / Korumayı Kaldır
Sub SayfayiKoru()
ActiveSheet.Protect Password:="1234"
End Sub
Sub KorumayiKaldir()
ActiveSheet.Unprotect Password:="1234"
End Sub
Çalışma Kitabının Yapısını Koru
Sayfa eklenmesini/silinmesini/adının değiştirilmesini engellemek için:
Sub KitabiKoru()
ActiveWorkbook.Protect Password:="1234", Structure:=True
End Sub
InputBox ile Özel Bir Şifre Sistemi Kurmak
Hazır Protect/Unprotect yerine, kendi mantığınızla bir "önce şifre sor, doğruysa işlemi yap" akışı da kurabilirsiniz:
Sub OzelSifreliIslem()
Dim sifre As String
sifre = InputBox("Lütfen şifreyi girin:")
If sifre = "1453" Then
ActiveSheet.Unprotect
MsgBox "Şifre doğru, koruma kaldırıldı."
Else
MsgBox "Yanlış şifre."
End If
End Sub
InputBox, kullanıcıdan tek satırlık bir metin girişi isteyen bir pencere açar — döndürdüğü değeri sabit bir şifreyle karşılaştırarak basit bir erişim kontrolü kurabilirsiniz.
Önemli Uyarı: Bu Gerçek Bir Güvenlik Değildir
VBA Protect/Unprotect şifrelemesi ve InputBox tabanlı özel kontroller, meraklı kullanıcıları caydırmak için yeterlidir ama kararlı birinin karşısında gerçek bir güvenlik sağlamaz — VBA proje şifreleri dahil bu korumaların teknik olarak nasıl aşılabildiğini bir sonraki (bonus) yazıda ele alacağız; bu da aslında bu korumaların neden hassas veriler için tek başına yeterli olmadığını gösteriyor.
Sırada Ne Var?
Serinin bonus yazısında, bu korumaların — kendi unuttuğunuz bir şifre söz konusu olduğunda — nasıl kaldırılabildiğine bakıyoruz.