Andrew sta scrivendo una macro e vuole dare agli utenti l’opportunità di inserire la propria password prima di consentire loro di utilizzare alcune funzioni fornite dalla macro. Sta usando la funzione InputBox e si chiede se c’è un modo per “cancellare” qualunque cosa qualcuno entri, in modo che la password sia mantenuta privata mentre viene digitata. (Questo viene fatto in molti programmi, dove tutto ciò che viene digitato viene sostituito sullo schermo con asterischi o qualche altro carattere.)

Non esiste un modo diretto per farlo utilizzando la funzione InputBox; non include la funzionalità necessaria. Ci sono persone che l’hanno fatto utilizzando chiamate API e simili, ma questo è piuttosto complicato e, con ogni probabilità, oltre l’ambito di ExcelTips.

Un approccio più semplice consiste nel creare il proprio Form utente in VBA. Il modulo può contenere un TextBox e il controllo include una proprietà che puoi impostare per funzionare come un carattere di mascheramento quando qualcuno immette una password. Se visualizzi la finestra delle proprietà per il controllo TextBox, vedrai una proprietà denominata PasswordChar. Impostalo sul carattere che desideri utilizzare per il mascheramento. Ad esempio, potresti inserire un singolo asterisco nella proprietà.

Quando arriva il momento di controllare se l’utente ha inserito la password corretta, tutto ciò che devi fare è controllare il valore nel controllo TextBox; sarà “chiaro” (non mascherato), mentre la versione su schermo rimarrà mascherata. In altre parole, se qualcuno immette “MyPass” come password, questo è il valore associato al controllo stesso.

Tuttavia, ciò che viene visualizzato sullo schermo sono sei asterischi (o qualsiasi carattere di mascheramento specificato), uno per ogni lettera digitata.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3120) si applica a Microsoft Excel 97, 2000, 2002 e 2003.