Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Istruzioni di controllo

Per istruzione intendiamo qualsiasi unità con sintassi completa, la quale esprime un tipo di:

  1. azione;
  2. dichiarazione o definizione;
Ogni istruzione può includere parole chiave, operatori, variabili, costanti e espressioni. Le istruzioni possono essere di tre tipologie:
  1. Istruzioni di dichiarazione - le abbiamo già viste a proposito dell'argomento sui tipi di dati, variabili, costanti;
  2. Istruzioni di assegnazione - sono istruzioni le quali permettono di assegnare valori o espressioni ad una variabile o costante;
  3. Istruzioni eseguibili - sono particolari istruzioni che inizializzano operazioni. Concretamente sono rappresentate da un metodo, funzione e possono eseguire spostamenti ciclici o passaggi tra blocchi di codice.
Quando scriveremo un programma con il linguaggio VBA, sicuramente ci troveremo spesso e volentieri in situazioni, dove dobbiamo obbligatoriamente interrompere la linearità di esecuzione del programma stesso.

Ecco perchè a tal proposito annoveriamo:
  1. Istruzioni condizionali;
  2. Istruzioni per implementare i cicli.
Le istruzioni condizionali sono particolari istruzioni eseguibili, che permettono di eseguire parti di programma, piuttosto che altre, solo al verificarsi di particolari condizioni.

Condizioni, che si sostanziano sottoforma di espressioni, e combinate con:
  1. operatori relazionali o di confronto;
  2. operatori logici And Or Not.
La sintassi dell'istruzione VBA, da usare, è:
If <espressione> Then
    Azione 1
    Azione 2
    ...
    Azione N
Else
    Azione 1
    Azione 2
    ...
    Azione N
End If
Questo costrutto è quello completo. Nel caso in cui non dovessimo eseguire nessun blocco di istruzioni, quando la condizione non viene verificata, allora si chiude il blocco di codice, dopo il Then, sempre con End If.

Nell'ipotesi di dover eseguire molti test di uguaglianza sul valore di una particolare variabile, utilizzeremo un'istruzione condizionale a scelta multipla. Stiamo parlando di Select Case.

(L'articolo continua più sotto...)

La sintassi completa di questo costrutto è:

Select Case <variabile>
    Case 1:
        Azione 1
        Azione 2
        ...
        Azione N
    Case 2:
        Azione 1
        Azione 2
        ...
        Azione N
    Case Else:
        Azione 1
        Azione 2
        ...
        Azione N
End Select
L'altra sintassi del costrutto Select Case è:
Select Case <variabile>
    Case 1 TO 10
        ...
    Case 11 to 20
        ...
    Case Else
        ...
End Select
Nella programmazione di codice con VBA, sovente capita anche di dover eseguire un blocco di codice più volte. In questo caso occorre racchiudere quel blocco di codice all'interno di un ciclo.

Ci sono diverse tipologie di cicli, ma sono tutti caratterizzati da:

  1. una variabile iniziale, che ha la funzione di contare il numero di volte in cui il blocco di codice viene eseguito;
  2. si fissa una condizione per mezzo della quale, si possa ritenere concluso il ciclo, o bisogna continuare a ripeterlo.
In VBA ci sono tre tipologie di cicli:
  1. Ciclo For... Next
  2. Do... Loop in tutte le sue varianti
  3. For Each...Next utile nella programmazione ad oggetti, della quale si parlerà negli ultimi paragrafi di questa guida. In sostanza questo costrutto è utile per ripetere un blocco di istruzioni per ogni oggetto o insieme;
Il ciclo for presenta la seguente sintassi:
For ct = valore iniziale to valore finale 
    Azione 1
    Azione 2
    ...
    Azione N
Next ct
In questo ciclo verrà incrementato unitariamente la variabile contatore ct (variabile iniziale). Si uscirà da questo ciclo for solo e solo quando la variabile iniziale, dopo successivi incrementi, raggiungerà il valore finale fissato o espresso attraverso una variabile.

Il ciclo For..Next viene utilizzato quando sappiamo a priori quante volte dobbiamo eseguire un ciclo. Nel caso non dovessimo saperlo (caso molto frequente), allora si dovrà utilizzare il ciclo Do...Loop.

Presentiamo la sua sintassi con un esempio applicativo. Dobbiamo contare in modo indefinito il numero di volte in cui verrà eseguito il blocco di istruzioni.

Dim Risp as String
Dim Ct as Integer
Risp="S"
Do While Risp="S"
    Ct=Ct+1
    Risp=Inputbox("Vuoi uscire dal ciclo S/N")
Loop
Msgbox("Numero di volte eseguito:" & Ct)
  1. E' stata inizializzata la variabile Risp di tipo stringa con il valore "S", in modo che il blocco di codice racchiuso tra Do While... Loop possa essere eseguito;
  2. Viene incrementato unitariamente il valore della variabile ct;
  3. Viene acquisita, tramite l'istruzione Inputbox, la scelta dell'utente di eseguire o meno il blocco di codice definito;
  4. Nel caso la variabile Risp sia uguale ancora al valore inizializzato il ciclo viene rieseguito;
Solo quando la variabile Risp assume valore "N" (scelta dell'utente), acquisita sempre tramite l'istruzione InputBox, sapremmo quanto vale il valore della variabile ct.

Il blocco di codice racchiuso sarà eseguito per vero, ossia solo se, ad ogni inizio ciclo, la variabile Risp sia sempre uguale ad "S".

Nel caso in cui la variabile Risp non sia uguale ad "S", già prima di entrare nel ciclo, allora non verrà eseguito neanche una volta.

Presentiamo la seconda variante del ciclo Do...Loop, ossia Do..Loop Until <condizione>

Dim Risp As String
Dim Ct as Integer
Do
    ct=ct+1
    Risp=Inputbox("Vuoi uscire dal ciclo S/N:")
Loop Until Risp="N"
Msgbox("Numero di volte eseguito:" & ct)
Rispetto alla prima versione la condizione è stata collocata all'uscita del ciclo (vedi Loop Until...). Il blocco di codice viene eseguito finchè la condizione di uscita non diventi True.

Usciti dal ciclo (quando finalmente l'utente sceglierà di non eseguirlo più) sapremmo sempre il valore di ct quanto vale.

E' possibile uscire anticipatamente da un ciclo impostato in questo modo, utilizzando l'istruzione Exit Do.

Corsi
Corso MS AccessCorso MS Access
Impara a creare e gestire database in maniera semplice e veloce. A partire da 39 €.
Corso Visual Basic 6Corso Visual Basic 6
Realizzare applicazioni Desktop con VB6. A partire da 39 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122