Şifre Gir???

Katılım
16 Nisan 2005
Mesajlar
353
Þifre Gir???

Selam arkadaşlar

soru
1- excel dosyası açıldığı an şifre gir diye sorsun ??


soru
2- Eğer excel'de (5)dakika çalışma olmasa tekrar çalışmaya başladığımda
gene şifre sorsun


bunu excelde yapabilirmiyiz ??

Teşekkürler
 
Katılım
12 Haziran 2005
Mesajlar
95
Birici sorunuz için bir çok örnek bulabilirsiniz. ARAMA yaparsanız.
İkici sorunuz için ise size şöyle bir yol göstereyim. İşiize yarar belki.
Her sayfanın Change ve aktivate olaylarıyla bir makro (hepsi aynı makroyu çağıracak) çağırın. Ve o modülün en başında bir değişkeni sıfırlayın. Sonra ayı değişkeni 1 yaparak (Böylece resetlemiş olacaksınız) timer çalıştırın. 5 dakikalık bu timer sonunda bir başka değişkeni 1 yapın. Ve bu değişkenle ya klavye ve fareyi kullanılamaz hale getirin ya da tüm sayfaları unvisible yapın. ve mouse ya da klavye tıklandığında direk InputBox ile şifre sorun. Gerisi zaten belli.
Dieyceksiniz şimdi bunlar zor, beni aşar ama siz engelleri başkalarının kucağında değil, keni bacaklarınızla aşmazsanız bunu öğrenemezsiniz. Takıldığınız yerde siz destek çıkacaktır.
 
Katılım
16 Nisan 2005
Mesajlar
353
syn Exelans

1'nci soru için inanın ki dün (şifre) olarak aradım farklı şifre konuları buldum. genede bugün arayacağım.

2'nci soru ise ip ucu aldıktan sonra gerisi çözülür.

çok çok sağolun syn Exelans :hey:
 
Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Selam,

İkinci sorunun cevabı.

Projenizin ThisWorkbook kısmına aşağıdaki kodları yerleştirin.

Kod:
Private Sub Workbook_Open()
Call Zaman
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ipTal
End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Call ipTal
Call Zaman
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Call ipTal
Call Zaman
End Sub
Projenize bir Module ekleyin ve aşağıdaki kodları da bu Module'e yerleştirin.

Kod:
Dim Sure As Date

Sub Zaman()
Sure = Now + TimeValue("00:05:00")
Application.OnTime Sure, "Parola"
End Sub

Sub Parola()
sifre:
a = InputBox("Devam etmek için parolanızı yeniden girmelisiniz", "PAROLA")
If a = "12345" Then
MsgBox "Teşekkür ederim, çalışmaya devam edebilirsiniz."
Else
MsgBox "Üzgünüm, hatalı parola girdiniz."
GoTo sifre
End If
End Sub

Sub ipTal()
On Error Resume Next
Application.OnTime EarliestTime:=Sure, Procedure:="Parola", Schedule:=False
End Sub
Not 1: 12345 yerine kendi belirlediğiniz bir parola girebilirsiniz.
Not 2: Parola girişi için Inputbox kullandım ve (bildiğim kadarıyla) Inputbox'a girilen değerleri " * " karakteri ile gizleyemiyoruz. Eğer bu sizin için çok önemliyse parola girişi için bir UserForm oluşturabilirsiniz.

İyi çalışmalar


Hatırlatma: Yukarıdaki kodlar VBA bilgisi olmayanları engelleyebilir. Ancak çok az da olsa VBA bilen herkes bu önlemi aşabilir (Ã?rneğin "Pause-Break" tuşuna basarak). Eğer dosyanın güvenliği sizin için çok önemliyse daha karmaşık yöntemler denemelisiniz. Ama şunu da unutmayın BİLGİSAYAR ORTAMINDA %100 GÜVENLİK DİYE BİRÞEY YOKTUR.
 
Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Az önce %100 güvenlik yoktur demiştim ya,

size az önce önerdiğimden daha fazla güvenlik içeren bir başka öneri sunayım (hala %100 değil).

"Parola" adlı makronuzun içeriğini

Kod:
ActiveWorkbook.Close 1
olarak değiştirin. Ayrıca dosyanıza açma parolası koyun. (hatırladığım kadarıyla "Dosya>Farklı Kaydet>Araçlar>Genel Seçenekler" 'den yapılıyordu)

Böylece dosyanızı 5 dakika boyunca işlem yapılmazsa kaydedip kapatıyoruz ve dosya açılışında yeniden parola soruluyor. Bu arada parolanızı uzun tutarsanız ve içeriğine harf,sayı ve karakter koyarsanız çözülmesi bayağı zorlaşacaktır.

Bu arada birinci sorunuzu da cevaplamış olduk.
 
Üst