was macht ein Bastler, dem ein etwas komplexeres Projekt aber derartig in die Hose gegangen ist, dass sich XL gleich mehrfach dem Suizid hingibt? Er bastelt aus Frust eine Spielerei. Hier ist sie:
Eine kleine UserForm, die ein dynamisch generiertes Passwort abfragt. Das PW wird per Bildungsregel gebaut und benötigt ein weiteres Zeichen, das man aus einer Tabelle auslesen kann. Bei solch einem Passwort kann einem der Kollege noch so genau über die Schulter schauen und wird spätestens eine Stunde später beim Einloggen scheitern ...

Man nehme - eine Userform mit einer Textbox und einem CommandButton, die dann folgenden Code bekommt:
Code: Alles auswählen
Option Explicit
Sub UserForm_Activate()
DynPW 'ruft den PW-Generator auf
'MsgBox sPW, , iFails 'zum Testen
iFails = 0
tbxPassWord.SetFocus
End Sub
Sub cmdSubmit_Click()
If tbxPassWord = sPW Then
Me.Hide
Application.StatusBar = False
MsgBox "Du bist drin!" 'hier kommt statt der MB der aufzurufende Code hin
Else
iFails = iFails + 1
MsgBox "Failed!", , iFails & "/3"
With tbxPassWord
.Text = ""
.SetFocus
End With
If iFails >= 3 Then 'schmeisst den Eindringling nach drei Fehlversuchen raus
Application.StatusBar = False
usfPassWord.Hide
'Application.Quit 'das wäre die ganz harte Version
Exit Sub
End If
End If
End Sub
Code: Alles auswählen
Option Explicit
Public iFails As Byte, sPW As String
Sub DynPW()
Dim vDate As String
Dim i As Integer, iSum As Integer, vDigit
iFails = 0
sPW = ""
vDate = Date & Hour(Now)
For i = 1 To Len(vDate) + 2
vDigit = Mid(vDate, i, 1)
If IsNumeric(vDigit) = True And vDigit > 0 Then
sPW = sPW & vDigit
iSum = iSum + vDigit
End If
Next i
sPW = sPW & Chr$(iSum + 63)
Application.StatusBar = iSum - 1
End Sub
Nachtrag: Das Potential, das in diesem Tool steckt, ist nur durch die Anzahl üblicher Schriftzeichen beschränkt. Denn - ob man wie hier das aktuelle Datum verwendet, den chinesischen Mondkalender (abgelegt als Referenz-Array) oder einen online abzufragenden DAX-Wert, ist lediglich der Fantasie des Bastlers überlassen. Wobei man immer wissen sollte: XL ist ungefähr so gut abzusichern wie Fort Knox ohne Schlösser und Wachdienst...