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.

Sonraki Haber

Forum