Non è raro confrontare le stringhe in una macro. Ad esempio, potrebbe essere necessario confrontare ciò che un utente ha digitato con un valore predeterminato. Se lo fai direttamente, devi prendere in considerazione che l’utente potrebbe non aver digitato la sua stringa nello stesso modo in cui ti aspettavi.

Particolarmente irritante è il fatto che l’utente possa aver mescolato lettere maiuscole e minuscole nella sua risposta.

Il modo più rapido e semplice per aggirare questo problema è utilizzare la funzione UCase o LCase sul loro input prima di eseguire il confronto. Ad esempio, supponiamo che tu chieda all’utente la parola “sì” per verificare che desideri eseguire un’azione. Il codice seguente controllerà l’input, indipendentemente da come l’utente lo ha digitato.

If LCase(UserIn) = "yes" then DoIt = True

Il trucco è assicurarsi che la stringa di test sia tutta maiuscola o tutta minuscola, quindi convertire l’input dell’utente nello stesso caso.

Se sospetti che l’utente possa inavvertitamente aggiungere spazi all’inizio o alla fine di qualunque cosa digiti come input, puoi migliorare l’istruzione includendo anche l’istruzione Trim per eliminare gli spazi:

If Trim(LCase(UserIn)) = "yes" then DoIt = True

_Nota: _

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

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (9000) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365. Puoi trovare una versione di questo suggerimento per vecchia interfaccia del menu di Word qui: