Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Password Sternchen!

Password Sternchen!
27.06.2005 10:47:47
Tayyar
Hallo Exel Profis,
ich bitte wieder um hilfe.
Wie kann ich Password eingabe in Inputbox unsichtbar machen.
mfg
Tayyar

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

Betreff
Datum
Anwender
Anzeige
AW: Password Sternchen!
27.06.2005 10:49:10
Jan
Hi,
geht, ist aber ein unvertretbar hoher Aufwand. Nutze eine userform.
mfg Jan
AW: Password Sternchen!
27.06.2005 11:09:10
Tayyar
Hallo Jan,
Wei geht das kanst du mir Schreiben?
mfg
Tayyar
AW: Password Sternchen!
27.06.2005 11:10:58
Sylvio
Hallo Jan,
mich würde trotz des Aufwandes mal der Text interessieren
Gruß Sylvio
AW: Password Sternchen!
27.06.2005 11:21:57
Jan
Option Explicit
Private Declare Function GetVbaProjekt Lib "vba332.dll" Alias "EbGetExecutingProj" (hVBA As Long) As Long
Private Declare Function GetFunktionsnummerString Lib "vba332.dll" Alias "TipGetFunctionId" (ByVal hVBA As Long, ByVal strFuncNameUnicode As String, strFunktionsnummer As String) As Long
Private Declare Function GetFunktionsnummerLong Lib "vba332.dll" Alias "TipGetLpfnOfFunctionId" (ByVal hVBA As Long, ByVal strFunktionsnummer As String, hlngFunction As Long) As Long
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 GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch 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 EM_SETPASSWORDCHAR = &HCC
Private Const GW_CHILD = 5
Private Const GW_HWNDFIRST = 0
Private Const GW_HWNDNEXT = 2
Private hlngTimerKennung As Long

Private Function PasswortHolen(Beschriftung As String) As String
Call TimerSetzen
PasswortHolen = InputBox(Beschriftung)
End Function


Private Sub Passwortchar()
Dim hwnd&, hwnd1&, lngRück&, Klasse$
Dim Stil As Long
hwnd = FindWindow("#32770", "Microsoft Excel")
hwnd1 = GetWindow(hwnd, GW_CHILD)
Do
Klasse = String(255, 0)
lngRück = GetClassName(hwnd1, Klasse, 250)
Klasse = Left$(Klasse, InStr(1, Klasse, _
Chr(0)) - 1)
If LCase(Klasse) = "edit" Then
SendMessageBynum hwnd1, _
EM_SETPASSWORDCHAR, 42, 0
End If
hwnd1 = GetWindow(hwnd1, GW_HWNDNEXT)
Loop While hwnd1 <> 0
End Sub


Private Sub TimerSetzen()
hlngTimerKennung = SetTimer(0, 0, 1000, AddressOf ApiTimer1)
If hlngTimerKennung = 0 Then MsgBox _
"Fehler beim Initialisieren des Timers"
End Sub


Private Sub TimerZerstören()
If hlngTimerKennung <> 0 Then KillTimer 0, hlngTimerKennung
End Sub


Private Sub ApiTimer1(ByVal hwndOwner&, _
ByVal lngWindowMessage&, ByVal hlngRückTimerKennung&, ByVal lngTickCount&)
TimerZerstören
Passwortchar
End Sub


Private Function GetFuncAdress&(strFunktion$)
Dim hVBA&, lngRück&, strFunktionsnummer$
Dim hlngFunction&, strFuncNameUnicode$
strFuncNameUnicode = StrConv(strFunktion, vbUnicode)
GetVbaProjekt hVBA
If hVBA <> 0 Then
lngRück = GetFunktionsnummerString(hVBA, strFuncNameUnicode, strFunktionsnummer)
If lngRück = 0 Then
lngRück = GetFunktionsnummerLong(hVBA, strFunktionsnummer, hlngFunction)
If lngRück = 0 Then GetFuncAdress = hlngFunction
End If
End If
End Function

Sub mach_es()
[a1] = PasswortHolen("Geben Sie das Passwort ein...")
End Sub
mfg Jan
Anzeige
AW: Password Sternchen!
27.06.2005 11:39:57
MichaelP
Hallo Sylvio,
das geht relativ einfach.
Beispiel-Code:
Option Explicit
Const Passw = "Test"

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Verhinder, das Fenster geschlossen wird, bevor PWD richtig ist.
If CloseMode = vbFormControlMenu Then
Cancel = True
End If
End Sub


Private Sub CommandButton1_Click()
'Ist der Knopf fuer die PWD-Abfrage
If TextBox1.Value = Passw Then
MsgBox "Passwort OK!"
Unload Me
Else
Label2.Visible = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Text)
End If
End Sub


Private Sub UserForm_Initialize()
Dim frm As UserForm
Set frm = UserForm4
frm.TextBox1.PasswordChar = "*"
frm.TextBox1.SetFocus
frm.Label2.Visible = False
End Sub

Leider konnte ich dir die Datei nicht uploaden, so das Su Sie selber umkopiere muss.
Du musst eine Userfor erstellen, mit einer TextBox1, einem CommandButton1 und einem Label2, welches einen Text hat "Falsches PWD"
Hoffe dass hilft Dir.
Gruß
Michael
Anzeige
AW: Password Sternchen!
27.06.2005 11:49:46
Sylvio
Danke Jan für den Quell-Text
@MichaelP mich hat der Text interessiert. Deine Variante kenn ich bereits. Trotzdem Danke
Gruß Sylvio
AW: Password Sternchen!
27.06.2005 12:05:07
Tayyar
Hallo,
Vielen Dank an aller.
mfg
Tayyar

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige