Tabloda değişiklik yapılmasını engelleme
Detaylı çalışma sayfalarının birçoğunda tablonun eksiksiz olarak çalışmasını engelleyen ve hatalı sonuçlara neden olan parola sorgusu ve makrolar yer alabiliyor. Siz de kullanıcıların makroyu etkinleştirmeden dosya üzerinde çalışmasını engellemek istiyorsunuz.
Makrolarınızı, çalıştırılmadan belge içerisindeki verilere erişimi engelleyecek şekilde programlayabilirsiniz. Kullanıcılar güvenlik ayarlarını değiştirerek makronun başlatılmasını engelleyebildiğinden böyle bir önleme ihtiyacınız olabilir. Makroların devre dışı bırakılması için dosya açılırken [Shift]'e tıklamak bile yeterli oluyor.
Alabileceğiniz önlemlerin başında çalışma sayfasının durumunu
"AddIn" olarak değiştirmek de var. Kullanıcı bu durumda Excel'de
dosyayı açtığında yalnızca boş bir yazılım penceresiyle
karşılaşıyor. Otomatik çalıştırılan makro üzerinden durum bilgisini
değiştirerek her şeyin yeniden normale dönmesini sağlayabilirsiniz.
Makro, belgeden çıktığınızda durumu yeniden eski haline
getiriyor.
Belirtilen otomatik değişiklikleri gerçekleştirebilmek için iki
kısa makroya ihtiyaç var. Bunun için Araçlar / Makro / Visual Basic
Düzenleyicisi'ne tıklayın ve açılan pencerede Project alanından
VBAproject'in altındaki ThisWorkbook'a çift tıklayın ve şu kodu
oluşturun:
Private Sub Workbook_Open()
--
ThisWorkbook.IsAddin = false
--
End Sub
---
Private Sub Workbook_BeforeClose (Cancel As Boolean)
--
ThisWorkbook.IsAddin = True
--
ThisWorkbook.Save
--
End Sub
--
File menüsünden Close and return to Microsoft Excel'i seçerek
girdiğiniz kodun kaydedilmesini sağlayın.
Artık kullanıcı bu belgeyi makrolar olmadan çalıştırmak istediğinde
ne bir belge ne de etkin bir Add-in'le karşılaşacak. Belgeden
yararlanmak için yazılıma ait pencereyi kapatmak ve makroları
engellemeden yeniden çalıştırmak gerekiyor.
Küçük bir hileyle makroları çalıştırmadan da açtığınız belgenin
içeriğini görüntüleyebilirsiniz. Dikkatsiz programcılık sonucu
erişimi imkânsız hale getirdiğiniz belgeyi bu şekilde
kurtarabilirsiniz. Bunun için boş gibi görünen Excel sayfasında
Araçlar / Makro / Visual Basic Düzenleyicisi'ne tıklayın. Yeniden
ThisWorkbook'a çift tıklayın ve altındaki özellikler listesinden
IsAddin'i seçin ve False olarak değiştirin.