kullanıcı adı ve porolası

neo

Katılım
24 Ağustos 2004
Mesajlar
287
: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...........
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Merhaba,
neo' Alıntı:
belli bir zaman aralığında kullanıcı adı ve kullanıcı kodu sormasını sağlamak
Kod:
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.
neo' Alıntı:
kullanıcı adı ve parolası doğru girilmediği zaman dosyayı son haliyle kaydedip dosyayı kapatsın
Kod:
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
neo' Alıntı:
üç 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.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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;

Kod:
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...
 

neo

Katılım
24 Ağustos 2004
Mesajlar
287
Sn Raider

: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
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Vba da Tools menusunda referans kısmına bakıp neler işaretli bildirebilirmisiniz.
Fazladan bir library işaretlenmiş herhalde.


Saygılarımla
 

mx5

Katılım
30 Temmuz 2005
Mesajlar
6
ben macrolarla ilgilenmeye yeni başladım yukardaki kodunasıl ve nereye yapıstıracağım konusunda yardımcı olursanız sevinirim
 
Katılım
5 Ağustos 2005
Mesajlar
18
Excel Vers. ve Dili
excell2003 türkçe
makro işlemlerine yeni ilgim arttı formullerinize bakıyorum ama nasıl kullanacağımı bilmiyorum banayardımcı olurmusunuz
 
Üst