Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sternchen bei Passwort

Sternchen bei Passwort
Albert
Hallo zusammen,
ich verwende diesen ellenlangen Code zum Erzeugen von Sternchen bei Passwörtern.
Option Explicit
Private Declare Function SetTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal wCmd As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ( _
ByVal hwnd As Long, _
ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long
Private Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long)
Private Const gcClassnameMSDialog = "#32770"
Private Const gcClassnameMSExcel = "XLMAIN"
Private Const EM_SETPASSWORDCHAR = &HCC
Private Const GW_CHILD = 5&
Private Const GW_HWNDFIRST = 0&
Private Const GW_HWNDNEXT = 2&
Private strSearchCaption As String
Public Function fncPassword(strText As String, strCaption) As String
strSearchCaption = strCaption
Call prcSetTimer
fncPassword = InputBox(strText, strCaption)
End Function

Private Sub Passwordchar()
Dim lnghWnd As Long, lnghWnd1 As Long
Dim strClass As String
lnghWnd = FindWindow(gcClassnameMSDialog, strSearchCaption)
lnghWnd1 = GetWindow(lnghWnd, GW_CHILD)
Do
strClass = String(255, 0)
GetClassName lnghWnd1, strClass, 250
strClass = Left$(strClass, InStr(1, strClass, Chr(0)) - 1)
If LCase$(strClass) = "edit" Then SendMessageBynum lnghWnd1, _
EM_SETPASSWORDCHAR, 42, 0
lnghWnd1 = GetWindow(lnghWnd1, GW_HWNDNEXT)
Loop While lnghWnd1  0
End Sub

Private Sub prcSetTimer()
SetTimer FindWindow(gcClassnameMSExcel, vbNullString), 0, _
1000, AddressOf prcTimer
End Sub

Private Sub prcKillTimer()
KillTimer FindWindow(gcClassnameMSExcel, vbNullString), 0
End Sub

Private Sub prcTimer(ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Call prcKillTimer
Call Passwordchar
End Sub
Kann es sein, dass dieser Code bei Inputboxen nicht funktioniert?
Mfg
Albert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sternchen bei Passwort
26.03.2012 14:00:42
marcl
Hallo Albert,
ich mache Passwortabfragen über UserForm.
https://www.herber.de/bbs/user/79563.xls
Hier mal ein Beispiel mit Deinen Angaben.
Gruß
marcl
AW: Sternchen bei Passwort
26.03.2012 15:43:01
Albert
Hi Marcl,
danke für deine Hilfe.
Mfg
Albert
AW: Sternchen bei Passwort
27.03.2012 07:54:25
Albert
Hallo Marcl,
der Code funktioniert wunderbar.
Dennoch hab ich eine Frage dazu.
Wenn ich in der Userform auf "OK" klicke, ohne zuvor das Passwort einzugeben, kommt ein Debug-Fehler hoch. Wie könnte ich das abstellen?
Mfg
Albert
AW: Sternchen bei Passwort
27.03.2012 07:55:07
Albert
Hallo Marcl,
der Code funktioniert wunderbar.
Dennoch hab ich eine Frage dazu.
Wenn ich in der Userform auf "OK" klicke, ohne zuvor das Passwort einzugeben, kommt ein Debug-Fehler hoch. Wie könnte ich das abstellen?
Mfg
Albert
Anzeige
AW: Sternchen bei Passwort
27.03.2012 08:03:13
marcl
Hallo Albert,
bei mir kommt keine Fehlermeldung.....
Wenn ich nichts eingebe und auf ok drücke, erscheint die UserForm wieder mit einem Hinweis.
Gruß
marcl
Du solltest den Code überarbeiten ;o)
27.03.2012 09:16:12
Matthias
Hallo marcl
Also der Debugger kommt bei mir auch nicht
Ich schliesse die UForm aber einfach übers Kreuz und schon bin ich drin!
Schon bemerkt? ;o)
Das solltest Du unbedingt noch abfangen.
Gruß Matthias
AW: Du solltest den Code überarbeiten ;o)
27.03.2012 09:32:38
marcl
Hallo Matthias,
Mist, das ging ja auch.....
Folgenden Code noch in die UserForm kopieren:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
Gruß
marcl
Anzeige
AW: Sternchen bei Passwort
27.03.2012 22:19:57
Nepumuk
Hallo,
das funktioniert schon, du solltest allerdings hier:
SetTimer FindWindow(gcClassnameMSExcel, vbNullString), 0, _
1000, AddressOf prcTimer
die Zeit auf 200 Millisekunden runter setzen. Eine Sekunde ist zu lang, da kannst du schon anfangen einzugeben bevor der Timer zuschlägt und damit verpufft die Wirkung.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige