Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Passworteingabe mit Sternen (versteckt)?

Passworteingabe mit Sternen (versteckt)?
Florian
Hi liebes Forum!
ich habe eine (Mini-)Makro, die ich über ein Passwort schützen will. Auf einem Worksheet befindet sich ein Button, nach dessen Klick zunächst ein Passwort in eine Inputbox eingegeben werden soll (falls falsch, dann Exit Sub, wenn richtig, dann weiter). Frage: wie kann ich im Moment der Eingabe der die Anzeige der eingebenen Buchstaben verhindern, also z.B. für jedes Zeichen ein Asterix anzeigen lassen. Geht das (vgl. z.b. Geheimnummer Geldautomat)?
Vielen Dank!
Florian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
nimm ein UserForm mit einer Textbox ...
24.09.2009 21:05:11
Matthias
Hallo
Userbild
Gruß Matthias
Alternativvorschlag
24.09.2009 22:16:39
Backowe
Hallo Florian,
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

Private Sub CommandButton1_Click()
Dim PW As String
PW = fncPassword("Passwort eingeben", "Passwortabfrage")
If PW = "geheim" Then
MsgBox "Treffer"
Else
MsgBox "Kein Treffer"
End If
End Sub
Gruß Jürgen
Anzeige
Danke an beide o.T. ;))
25.09.2009 13:51:46
Florian
..

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige