Tüm Versiyonu Göster : kullanýcý adý ve porolasý
:kafa: :kafa: :kafa:
excel de yapmak istediðim þey þu belli bir zaman aralýðýnda kullanýcý adý ve kullanýcý kodu sormasýný saðlamak kullanýcý adý ve parolasý doðru girilmediði zaman dosyayý son haliyle kaydedip dosyayý kapatsýn taki doðru kullanýcý adý ve parolasý girilene kadar ve tek bir parola olmasýn örneðin 72 saatte bir ve zaman aralýðýný kontrol edebileyim en az üç kullanýcý ve üç parola döngüsü oluþtursun "her 72 saatte parolayý ve kullanýcý adýný deðiþtirsin " bana bu konuda kim yadýmýcý olur yardýmlarýnýz için þimdiden teþekkür ederim. dostlar...........
Merhaba,
belli bir zaman aralýðýnda kullanýcý adý ve kullanýcý kodu sormasýný saðlamak Sub auto_open()
Application.OnTime Now + TimeValue("00:00:15"), "Sor"
End Sub
Sub Sor()
UserForm1.Show
End Sub]Kullanýcý adý ve Þifresi için.
kullanýcý adý ve parolasý doðru girilmediði zaman dosyayý son haliyle kaydedip dosyayý kapatsýn
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Kullanýcý Adý ve Þifresi Yazmak Zorundasýnýz.."
Cancel = True
End If
End Sub
Private Sub CommandButton1_Click()
If TextBox1 = Worksheets("Sayfa1").Range("a1") Then
If Val(TextBox2) = Worksheets("Sayfa1").Range("a2") Then
MsgBox "Ýþlem Tamam"
Application.OnTime Now + TimeValue("00:00:15"), "Sor"
Range("a1") = "Kullanýcý Adý2" 'Herseferinde kullanýcý adý deðiþtiriyor.
Range("a2") = "Kullanýcý Þifre2" 'Herseferinde kullanýcý þifre deðiþtiriyor.
Unload Me
Else
MsgBox "Yanlýþ Þifre Girdiniz"
ActiveWorkbook.Save
ActiveWorkbook.Close
Exit Sub
End If
Else
MsgBox "Yanlýþ Kullanýcý Adý Girdiniz"
ActiveWorkbook.Save
ActiveWorkbook.Close
Exit Sub
End If
End Sub
üç kullanýcý ve üç parola döngüsü oluþtursun bana bu konuda kim yadýmýcý olur yardýmlarýnýz için þimdiden teþekkür ederim. dostlar...........Bu en sorunuz hakkýnda yardýmcý olamýyacaðým. Kolay gelsin.
Merhaba;
Ben bir cevap hazýrladým ama tam post edecekken bir kere daha soruyu okuyunca, biraz da fantezi tarzdaki cevabýmýn sizin istediðiniz þey olmadýðýný anladým maalesef. :mrgreen:
Benim cevabýmda;
1) Dosya açýldýktan sonra, ekrana Kullanýcý Adý ve Þifre isteyen bir kutu geliyor.
2) Dosyayý açmaya yetkili 3 adet kullanýcý tanýmlanmýþ durumda. Bu kullanýcýlar:
- Huseyin
- Turker
- RedKid
3) Kullanýcýlar, kendi kullanýcý adlarýný girdikten sonra þifre olarak;
- Pazar, Pazartesi, Salý günleri için : sifre1
-Salý, Çarþamba, Perþembe, Cuma, Cumartesi günleri için : sifre2
girmek zorundalar. Aksi takdirde dosyayý açamayacaklar.
Bununla ilgili olarak aþaðýdaki kodlarýn tümünü sözkonusu bir dosyada yeni bir modulün içine yerleþtirilmesi gerekiyor;
Public MyUser As String
Public MyPass As String
'
Sub Auto_Open()
Dim UserArr
UserArr = Array("Huseyin", "Turker", "RedKid")
Select Case Format(Date, "w")
Case 1 To 3
MyPassword = "sifre1"
Case 4 To 7
MyPassword = "sifre2"
End Select
ThisWorkbook.IsAddin = True
MyPasswBox
If MyPass <> "" And MyUser <> "" Then
For i = LBound(UserArr) To UBound(UserArr)
If MyUser = UserArr(i) And MyPass = MyPassword Then
ThisWorkbook.IsAddin = False
MsgBox UserArr(i) & ", giriþiniz onaylandý !", _
vbInformation, "Bilgi..."
Exit Sub
End If
Next
MsgBox "Kullanýcý adý ve þifrenizi kontrol edin !", vbCritical, "Dikkat !"
End If
End Sub
'
Sub MyPasswBox()
Dim PassWForm
Set PassWForm = ThisWorkbook.VBProject.VBComponents.Add(3)
PassWForm.properties("Width") = 200
PassWForm.properties("Height") = 120
PassWForm.properties("Caption") = "Þifre giriþi !"
Set NewLabel = PassWForm.Designer.Controls.Add("forms.Label.1")
With NewLabel
.Width = 50
.Height = 18
.Left = 8
.Top = 22
.Caption = " Kullanýcý Adý :"
End With
Set NewLabel = PassWForm.Designer.Controls.Add("forms.Label.1")
With NewLabel
.Width = 50
.Height = 18
.Left = 8
.Top = 44
.Caption = " Þifre :"
End With
Set NewTextBox = PassWForm.Designer.Controls.Add("forms.TextBox.1")
With NewTextBox
.Width = 120
.Height = 18
.Left = 60
.Top = 20
.PasswordChar = "*"
.ForeColor = vbRed
End With
Set NewTextBox = PassWForm.Designer.Controls.Add("forms.TextBox.1")
With NewTextBox
.Width = 120
.Height = 18
.Left = 60
.Top = 42
.PasswordChar = "*"
.ForeColor = vbRed
End With
Set NewCommandButton1 = PassWForm.Designer.Controls.Add("forms.CommandButton.1")
With NewCommandButton1
.Caption = "Vazgeç"
.Height = 18
.Width = 50
.Left = 70
.Top = 72
End With
Set NewCommandButton2 = PassWForm.Designer.Controls.Add("forms.CommandButton.1")
With NewCommandButton2
.Caption = "Tamam"
.Height = 18
.Width = 50
.Left = 130
.Top = 72
End With
With PassWForm.CodeModule
X = .CountOfLines
.InsertLines X + 1, "Sub CommandButton1_Click()"
.InsertLines X + 2, "Unload Me"
.InsertLines X + 3, "End Sub"
.InsertLines X + 4, "Sub CommandButton2_Click()"
.InsertLines X + 5, "MyUser = TextBox1"
.InsertLines X + 6, "MyPass = TextBox2"
.InsertLines X + 7, "Unload Me"
.InsertLines X + 8, "End Sub"
.InsertLines X + 9, "Sub UserForm_Activate()"
.InsertLines X + 10, "Me.SpecialEffect=3"
.InsertLines X + 11, "End Sub"
End With
VBA.UserForms.Add(PassWForm.Name).Show
ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=PassWForm
End Sub
Soruyu tekrar okuduðumda sonradan anladýðým kadarýyla, sanki bahsettiðiniz bu dosya günün 24 saati kesintisiz olarak açýk durumda ve siz 72 saatte bir kullanýcý ve þifre kontrolu istiyorsunuz. Bu durumda sizin kullanmanýz gereken yöntem Application.OnTime metodunu kullanmak olacaktýr.
Ýþinize yaramayacak ama, kodlarý hazýrlamýþken yine de buraya post etmek istedim.
Belki bir baþkasýnýn iþine yarar...
Edit: htsumer soruyu doðru anlamýþ galiba...
:hey: merhabalar sayýn raider vermiþ olduðunuz kolda bir sorunla karþýlaþtým daha önce sorunsuz çalýþýyordu hata Mesajý " Can't find projet or library " yardýmcý olulsanýz sevinirim saygýlarýmla
Merhaba
Vba da Tools menusunda referans kýsmýna bakýp neler iþaretli bildirebilirmisiniz.
Fazladan bir library iþaretlenmiþ herhalde.
Saygýlarýmla
:hey: ilginize teþekkurederim
size Tools \ref
http://img12.imageshack.us/img12/2233/vb8ld.png
ben macrolarla ilgilenmeye yeni baþladým yukardaki kodunasýl ve nereye yapýstýracaðým konusunda yardýmcý olursanýz sevinirim
danersin
12-08-2005, 12:55
ben macrolarla ilgilenmeye yeni baþladým yukardaki kodunasýl ve nereye yapýstýracaðým konusunda yardýmcý olursanýz sevinirim
@isakarakus arkadaþýmýz mümkün olduðunca detaylý anlatmýþ.
http://www.excel.web.tr/viewtopic.php?t=4153
hidayet_saglam
13-08-2005, 15:17
makro iþlemlerine yeni ilgim arttý formullerinize bakýyorum ama nasýl kullanacaðýmý bilmiyorum banayardýmcý olurmusunuz
Bu kullanici adinda; Vazgec veya yanlis sifre girildiginde, dosyayi nasil kapattirabiliriz? Bu konuda ekleme yapma sansimiz var mi acaba?
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.