VBA
Creare una procedura
Ricerca…
Introduzione alle procedure
Un Sub
è una procedura che esegue un'attività specifica ma non restituisce un valore specifico.
Sub ProcedureName ([argument_list])
[statements]
End Sub
Se non viene specificato alcun modificatore di accesso, una procedura è Public
per impostazione predefinita.
Una Function
è una procedura a cui vengono dati dati e restituisce un valore, idealmente senza effetti collaterali globali o di ambito modulo.
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
Una Property
è una procedura che incapsula i dati del modulo. Una proprietà può avere fino a 3 di accesso: Get
per restituire un valore di riferimento o un oggetto, Let
per assegnare un valore, e / o Set
per assegnare un riferimento a un oggetto.
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
Le proprietà vengono solitamente utilizzate nei moduli di classe (sebbene siano consentite anche nei moduli standard), esponendo l'accesso a dati altrimenti inaccessibili al codice chiamante. Una proprietà che espone solo un accessorio Get
è "di sola lettura"; una proprietà che esporrebbe solo un accessorio Let
e / o Set
è "di sola scrittura". Le proprietà di sola scrittura non sono considerate una buona pratica di programmazione: se il codice client può scrivere un valore, dovrebbe essere in grado di leggerlo . Considerare l'implementazione di una procedura Sub
invece di creare una proprietà di sola scrittura.
Restituzione di un valore
Una procedura Function
o Property Get
può (e dovrebbe!) Restituire un valore al proprio chiamante. Questo viene fatto assegnando l'identificatore della procedura:
Property Get Foo() As Integer
Foo = 42
End Property
Funzione con esempi
Come detto sopra, le funzioni sono procedure più piccole che contengono piccoli pezzi di codice che possono essere ripetitivi all'interno di una procedura.
Le funzioni vengono utilizzate per ridurre la ridondanza nel codice.
Simile a una procedura, una funzione può essere dichiarata con o senza un elenco di argomenti.
La funzione è dichiarata come un tipo di ritorno, poiché tutte le funzioni restituiscono un valore. Il nome e la variabile di ritorno di una funzione sono gli stessi.
Funzione con parametro:
Function check_even(i as integer) as boolean if (i mod 2) = 0 then check_even = True else check_even=False end if end Function
Funzione senza parametro:
Function greet() as String greet= "Hello Coder!" end Function
La funzione può essere chiamata in vari modi all'interno di una funzione. Poiché una funzione dichiarata con un tipo di ritorno è fondamentalmente una variabile. è usato simile a una variabile.
Chiamate funzionali:
call greet() 'Similar to a Procedural call just allows the Procedure to use the
'variable greet
string_1=greet() 'The Return value of the function is used for variable
'assignment
Inoltre, la funzione può essere utilizzata anche come condizioni per if e altre istruzioni condizionali.
for i = 1 to 10
if check_even(i) then
msgbox i & " is Even"
else
msgbox i & " is Odd"
end if
next i
Ulteriori ulteriori funzioni possono avere modificatori come Per ref e Per val per i loro argomenti.