Definire parametri opzionali per Function e Sub [Vba]

Il linguaggio VBA (Visual Basic for Application) distribuito in applicazioni quali Ms Acces o MS Excel è a tutti gli effetti un linguaggio di programmazione che può essere utilizzato per creare del software utilizzabile egregiamente anche in ambienti di produzione.

Un’utile caratteristica è quella che permette di specificare un parametro di una routine (sub o function) facoltativo.

Questo vuol dire che il codice chiamante non è obbligato a passare un argomento nella chiamata alla routine.

In questo caso è possibile anche specificare un valore predefinito che verrà utilizzato dalla routine se l’argomento non viene fornito.

È inoltre possibile definire più parametri facoltativi, purché tutti vengano inseriti in coda all’elenco dei parametri.

Per inserire un parametro facoltativo nella dichiarazione della routine (Sub o Function ) è necessario inserire la parola chiave Optional prima del nome del parametro

Sub funzioneConParametriOpzionali(parametro1 As String, _ 
Optional parametro2 As String = "defaultValue") 
    If (parametro2 = "defaultValue") Then 
        Debug.WriteLine("Parametro 2 non inserito") 
    else 
        Debug.WriteLine("Parametro inserito : " + parametro2 ) 
    End If 
End Sub

Per inserire il valore predefinito del parametro invece, dopo la dichiarazione Optional nomeParametro as tipo va inserito il segno di uguale (” = “).

Il valore deve essere necessariamente una costante, in modo che possa essere valutata completamente dal compilatore in fase di compilazione.

Call funzioneConParametriOpzionali("parametro obbligatori")

darà come risultato :

Parametro 2 non inserito

mentre

Call funzioneConParametriOpzionali("parametro obbligatori","parametro Opzionale")

darà come risultato :

Parametro 2 inserito : parametro Opzionale

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.