Bu şablon, gizli bilgi içeren bir çalışma kitabından yanlışlıkla çıktı alınmasını önlemek için hazırlanmış makrolu bir örnektir. Belirlenen sayfalar yazdırılmak istendiğinde işlem iptal edilir ve kullanıcıya uyarı mesajı gösterilir.
Dosyanın içeriği
- Sheet1: Çalışma sayfasıdır; yazdırma engelinin denendiği sayfadır. Hücre E5 kullanılmıştır.
- ThisWorkbook modülü: Workbook_BeforePrint olay makrosunu barındırır.
- Module1: Yazdırma denemesi için kullanılan yazdir makrosunu içerir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı gibi zararlı bir işlem yoktur.- Workbook_BeforePrint: Yazdırma komutu verildiğinde otomatik çalışır. Seçili sayfalar taranır; sayfa adı Sheet1, Sheet2 veya Sheet3 ise "Bu dosyadan çıktı almanız engellenmiştir" mesajı kullanıcı adıyla birlikte gösterilir ve yazdırma iptal edilir. Kod içindeki açıklamaya göre daha fazla sayfa için aynı blok çoğaltılıp sayfa adı değiştirilir.
- yazdir: Etkin sayfayı PrintOut yöntemiyle yazdırır. Bu işlem de Workbook_BeforePrint olayını tetiklediği için engellenen sayfalarda çıktı alınmaz.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Engellenmesi istenen sayfanın adı koddaki sayfa adlarından biriyle aynı olmalıdır. Farklı adlı sayfalar için VBA düzenleyicisinde ThisWorkbook modülünü açıp WsName değerini sayfa adınıza göre değiştirin.
- Bu sayfalarda Ctrl+P ile veya yazdır komutuyla çıktı almayı deneyin; uyarı mesajı görüntülenir ve çıktı alınmaz.
- Dosyayı makro içeren çalışma kitabı (.xlsm) olarak kaydedin; aksi halde engelleme çalışmaz.