How do you set it so that the values being entered into an input box are able to have a certain character replacing them such as "*********"?
Printable View
How do you set it so that the values being entered into an input box are able to have a certain character replacing them such as "*********"?
change the textbox property "passwordchar" to something else then "*"
Not a textbox, but an inputbox. The inputbox doesn't have properties in the same sense as a textbox does.
then why not creating a new form with a textbox and using that instead?
Because I'm using Visual Basic for Applications (VBA) and I'm trying to create system that locks and unlocks items and the forms don't provide the level of control that this does with VBA.
you can probably do it with api's. I have no idea how though.
Darn. Does anyone know how to do it with API's?
Try this
VB Code:
'set the input of an input box to password characters '---bas module code-- Option Explicit Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&, ByVal uElapse&, ByVal lpTimerFunc&) Public Declare Function KillTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&) Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Const NV_INPUTBOX As Long = &H5000& Public Const EM_SETPASSWORDCHAR = &HCC Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&) Dim myHwnd As Long 'Change here App.Title (defoult InputBox Caption) into your caption myHwnd = FindWindowEx(FindWindow("#32770", App.Title), 0, "Edit", "") Call SendMessage(myHwnd, EM_SETPASSWORDCHAR, 42, 0) KillTimer hwnd, idEvent End Sub '--Using - form code: Private Sub Command1_Click() Dim sPass As String SetTimer hwnd, NV_INPUTBOX, 10, AddressOf TimerProc sPass = InputBox("Set Password") End Sub