Come ottenere l’input dell’utente in una finestra di dialogo

Se è necessario ottenere input da un utente sotto il controllo di una macro, un metodo che è possibile utilizzare è la funzione InputBox. Questa funzione visualizza una finestra di dialogo e consente all’utente di digitare una risposta. Il risultato è una stringa, restituita alla macro, che è quindi possibile elaborare e utilizzare.

La sintassi per la funzione InputBox è la seguente:

 

sResponse = InputBox(sPrompt, sTitle, sDefault)

 

Ci sono tre parametri che puoi usare con InputBox (ciascuno di essi è una stringa), sebbene solo il primo sia assolutamente obbligatorio. In questa sintassi, sPrompt è il testo che si desidera venga visualizzato come prompt all’utente, sTitle è il testo da visualizzare nella barra del titolo della finestra di dialogo e sDefault è la stringa di testo predefinita offerta all’utente nella finestra di dialogo. L’utente può modificare o accettare la stringa predefinita, come desidera.

Ad esempio, è possibile utilizzare le seguenti righe di codice per visualizzare una finestra di dialogo e chiedere all’utente il proprio nome:

 

Dim sUserName as String
Dim sPrompt as String
Dim sTitle as String
Dim sDefault as String
sPrompt = "Controlla il tuo nome e apporta eventuali correzioni"
sTitle = "Inserimento Nome"
sDefault = "Mario Rossi"
sUserName = InputBox(sPrompt, sTitle, sDefault)

 

 

Una volta completato questo codice, la variabile sUserName contiene qualunque cosa abbia immesso l’utente. Puoi quindi, nella tua macro, utilizzare quell’input in qualsiasi altro modo ritieni opportuno.

Ad esempio potresti inserire quanto digitato dall’utente in una cella del foglio di lavoro:

 

Range("B3").Value = sUserName

 

Questo esempio deposita il valore di sUserName nella cella B3.

La funzione InputBox è ottima per acquisire un dato alla volta, poiché puoi pubblicare solo una singola “domanda” utilizzandola. Se hai bisogno di ottenere una serie di input dell’utente da utilizzare nella tua macro, dovrai fare affidamento su un Form utente o acquisire l’input direttamente da un foglio di lavoro.

Per ulteriori approfondimenti puoi consultare anche la scheda tecnica della funzione descritta in questo articolo.

 

Tags: , ,

Ti è stato utile?