Notifications
Clear all

FORMATAR INPUTBOX SENHA COM ASTERISCO

10 Posts
2 Usuários
0 Reactions
2,560 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Pessoal, tire uma duvida para mim, existe alguma maneira via script de deixar o texto ou numero do inputbox(Senha) com a visualização em asterisco (*), pois ele não possui propriedades iguais as dos textboxes, comboboxes ou listboxes.
Não tenho nenhum modelo para adicionar, pois a duvida e de um amigo, não sube responder ele por nunca ter usado o inputbox.

silva_jmp

 
Postado : 30/10/2012 7:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Use nossa base de dados.
search.php?keywords=inputbox+senha
Att

 
Postado : 30/10/2012 7:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, obrigado por atender, mas olhei já havia outras postagem, mas não encontrei, só para frizar tem que ser o InputBox, as outras postagem acabou usando o Textbox.
Vou procurar mais um pouco, se poder me ajudar mais uma vez, já agradeço.

silva_jmp

 
Postado : 31/10/2012 10:20 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Enquanto procura...
...Cara existe formas de se fazer isso, agora você criar um formulário com duas TextBox uma para usuário e outra para senha, e tudo ficará bem!
https://sites.google.com/site/dinizvba/ ... in-e-senha

Att

 
Postado : 31/10/2012 5:57 pm
(@charlie-81)
Posts: 290
Reputable Member
 

Caro silva_jmp, segue a resposta para sua questão

Primeiro de tudo renomeie sua input box para inputboxVDL

Depois de fazer isso, insira um novo módulo ao seu projeto e cole o código abaixo

     Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
                                                          ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" ( _
                                             ByVal lpModuleName As String) As Long
    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" ( _
                                              ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) _
                                              As Long
    Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

    Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" ( _
                                                ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, ByVal wParam As Long, _
                                                ByVal lParam 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 GetCurrentThreadId Lib "kernel32" () As Long
    Private Const EM_SETPASSWORDCHAR = &HCC
    Private Const WH_CBT = 5
    Private Const HCBT_ACTIVATE = 5
    Private Const HC_ACTION = 0
    Private hHook As Long
Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        Dim RetVal
        Dim strClassName As String, lngBuffer As Long
        If lngCode < HC_ACTION Then
            NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
            Exit Function
        End If
        strClassName = String$(256, " ")
        lngBuffer = 255
        If lngCode = HCBT_ACTIVATE Then
            RetVal = GetClassName(wParam, strClassName, lngBuffer)
            If Left$(strClassName, RetVal) = "#32770" Then
                SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
            End If
        End If
        CallNextHookEx hHook, lngCode, wParam, lParam
    End Function
    Public Function InputBoxVDL(Prompt As String, Optional Title As String, Optional Default As String, _
                               Optional Xpos As Long, Optional Ypos As Long, Optional Helpfile As String, _
                               Optional Context As Long) As String
        Dim lngModHwnd As Long, lngThreadID As Long
        On Error GoTo ExitProperly
        lngThreadID = GetCurrentThreadId
        lngModHwnd = GetModuleHandle(vbNullString)
        hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)
        If Xpos Then
            InputBoxVDL = InputBox(Prompt, Title, Default, Xpos, Ypos, Helpfile, Context)
        Else
            InputBoxVDL = InputBox(Prompt, Title, Default, , , Helpfile, Context)
        End If
ExitProperly:
        UnhookWindowsHookEx hHook
End Function

Caso não consiga, disponibilize sua planilha.
Se a resposta tiver sido util, favor marcar o tópico como resolvido.
Se for de seu interesse, agradeça pela resposta.

 
Postado : 31/10/2012 6:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Charlie, obrigado pela sugestão, deu certo, porém tem que ser feito algumas melhorias, tipo:
1 - Quando acionamos o bt(Senha InputBox) abre-se a janela do InputBox para digitar a senha, se observar a senha já esta dentro da campo para digitar, se clicarmos em OK, abrirá um MsgBox que descrimina a senha, portanto, qualquer um pode ter acesso.
2 - Quando apagamos a senha que já esta no campo senha e clicamos em OK aparecerá MsgBox vazia dando acesso a planilha como por exemplo.

silva_jmp

 
Postado : 01/11/2012 6:20 pm
(@charlie-81)
Posts: 290
Reputable Member
 

não entendi muito bem... de qualquer forma, envie ai seu aqruivo. Lembre-se de compactá-lo

 
Postado : 01/11/2012 9:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Charlie, estou enviando o modelo.

silva_jmp

 
Postado : 03/11/2012 8:33 pm
(@charlie-81)
Posts: 290
Reputable Member
 

silva_jmp???

Desculpe pela demora em responder, o serviço tem me consumido muito.
Segue seu arquivo. Compare o seu e o que estou enviando a ponto de identificar o erro. Apenas um detalhe estava fazendo com que a mensagem aparecesse.
Sempre que precisar, pode contar com o Planilhando.

 
Postado : 05/11/2012 3:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Charlie, missão comprida, parabens, obrigado pela força.

silva_jmp :lol:

 
Postado : 06/11/2012 4:38 am