• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

macro güvenliği yüksek ise sayfa gizlensin

Katılım
17 Ocak 2009
Mesajlar
3
Excel Vers. ve Dili
2003 türkçe
örneğin sayfa 1 de macrolarınız var ve bu macrolar excel çalışma sayfanızın başkaları tarafından kopyalanmaması ve çalınmamasını istiyorsunuz.
Ancak macro güvenliği yüksek olarak ayarlanmış excel programında, macrolar devre dışı kaldığından çalışmanız başkaları tarafından tamamen görülebilir.
Ben bu sorunu şu şekilde hallettim...

1) VBAProject properties'ten şifre oluşturarak macrolarınızı gizleyin

2)ThisWorkbook kısmına aşağıdaki kodu ekleyin.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Bu kod satırları Cihan BAYDAR tarafından geliştirilmiştir.
On Error Resume Next
cevap = MsgBox("Yaptığınız değişiklikler Kaydedilsinmi?", 3 + 32 + 0, "Çıkış")
If cevap = 6 Then
Sheets("Sayfa İsmi").Visible = False
ActiveWorkbook.Protect ["şifre"], Structure:=True, Windows:=True
ActiveWorkbook.Save
Cancel = False
ElseIf cevap = 7 Then
Application.DisplayAlerts = False
Application.Quit
Else
Cancel = True
End If
End Sub

Private Sub Workbook_Open()
'Bu kod satırları Cihan BAYDAR tarafından geliştirilmiştir.
On Error Resume Next
ActiveWorkbook.Unprotect ["şifre"]
Sheets("Sayfa İsmi").Visible = True
Sheets("Sayfa İsmi").Select
End Sub


Not1: "şifre" yazan kısma istediğiniz şifreyi(tırnak işareti içinde. Örneğin: "1234") girebilirsiniz. Ancak şifrenizi uzun tutmanızda ve çok çeşitli karakterler kullanmanızda(ör:®, ¢,*Ì,Ó,ß vb..) faydavar. Bu şekilde çeşitli şifre programları ile şifrenizin kırılması zorlaşır, yani süre uzar ve bir çok kullanıcı vazgeçer :)

Not2:"Sayfa İsmi" yazan kısma korumak istediğiniz sayfanın adını yazın (tırnak işareti içinde. Örneğin: "veriler").

Not3: Sheets("Sayfa İsmi").Visible = True ve ActiveWorkbook.Protect ["şifre"], Structure:=True, Windows:=True satırlarını istediğiniz kadar çoğaltarak tüm korumak istediğiniz sayfaları çoğaltabilirsiniz.

Yukarıda yazdığım şekilde yaparsanız excel çalışma kitabınız macrolar etkin olmadan açıldığında boş bir çalışma sayfası olarak gözükecek ve gizlediğiniz sayfayı şifre olmadan açamayacaktır.
 
Son düzenleme:
Sn black shield bunu da halletmenin yolları varsa da çok hoş bir çözümle birçok kişiyi dosyaya makroları etkinleştirmeden girmekten caydıracak bir çözüm yollamışsınız.Kendi adıma kodlarınızı edinmekten çok memnun oldum teşekkür ederim.
 
cevap = MsgBox("Yaptığınız değişiklikler Kaydedilsinmi?", 3 + 32 + 0, "Çıkış")
Kırmızı alan ne anlama geliyor açıklayabilir misiniz acaba?
 
Kırmızı alan

cevap = msgbox("yaptığınız değişiklikler kaydedilsinmi?", 3 + 32 + 0, "çıkış")
kırmızı alan ne anlama geliyor açıklayabilir misiniz acaba?


3=vbyesnocancel=evet hayır ve iptal tuşlarını
32=vbquestion= soru işareti ikonunu
0=vbsystemmoda= öncelik normal
 
Sn black_shield açıklamanız ve paylaştığınız kodlar için tekrar teşekkür ederim.
 
Geri
Üst