Guida di Collabora Office 24.04
Ripete le istruzioni incluse nel blocco For...Next per il numero di volte specificato.
For counter=start To end [Step step]
blocco istruzioni
[Exit For]
blocco istruzioni
Next [counter]
For Each item In list
blocco istruzioni
[Exit For]
blocco istruzioni
Next [item]
counter (contatore): inizialmente, al counter del ciclo viene assegnato il valore a destra del segno di uguale (start). Sono ammesse solo variabili numeriche. Il valore del contatore del ciclo aumenta o diminuisce in base alla variabile step, finché non viene passato il valore end.
start (inizio): variabile numerica che definisce il valore iniziale del ciclo.
end (fine): variabile numerica che definisce il valore finale alla fine del ciclo.
step: imposta il valore di cui deve essere aumentato o diminuito il contatore del ciclo>. Se la variabile step non è specificata, il contatore del ciclo viene incrementato di 1. In questo caso, end deve essere maggiore di start. Se volete che il valore del counter diminuisca, dovete impostare un valore end minore di quello start e assegnare a step un valore negativo.
Il ciclo For...Next ripete tutte le istruzioni del ciclo per il numero di volte specificato dai parametri.
A mano a mano che la variabile counter diminuisce, Collabora Office Basic controlla se sia stato raggiunto il valore end. Non appena counter supera il valore end, il ciclo termina automaticamente.
Le istruzioni For...Next possono essere annidate. Se non specificate una variabile dopo l'istruzione Next, quest'ultima si riferisce automaticamente all'istruzione For più recente.
Se specificate un incremento di 0, le istruzioni tra For e Next vengono ripetute continuamente.
Nel conteggiare a ritroso la variabile del contatore, Collabora Office Basic controlla gli eventuali overflow o underflow. Il ciclo termina quando counter supera end (valore Step positivo) o scende al di sotto di end (valore Step negativo).
Per uscire dal ciclo in modo incondizionato, usate l'istruzione Exit For. Questa istruzione deve trovarsi all'interno di un ciclo For...Next. Usate l'istruzione If...Then per provare la condizione di uscita come segue:
For...
blocco istruzioni
If condition = True Then Exit For
blocco istruzioni
Next
Nei cicli For...Next annidati, l'uscita incondizionata da un ciclo con Exit For ha effetto su un solo ciclo.
L'esempio seguente utilizza due cicli annidati per ordinare una matrice di stringhe con 10 elementi ( sVoce() ) che viene riempita con vari tipi di contenuto:
Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer, iCount2 As Integer
Dim sTemp As String
sEntry = Array("Jerry","Patty","Kurt","Thomas","Michael",_
"David","Cathy","Susie","Edward","Christine")
For iCount = 0 To 9
For iCount2 = iCount + 1 To 9
If sEntry(iCount) > sEntry(iCount2) Then
sTemp = sEntry(iCount)
sEntry(iCount) = sEntry(iCount2)
sEntry(iCount2) = sTemp
End If
Next iCount2
Next iCount
For iCount = 0 To 9
Print sEntry(iCount)
Next iCount
End Sub
Esplora il contenuto di una matrice per visualizzare ogni singolo elemento che questa contiene.
Sub list_iteration
posate = Array("forchetta", "coltello", "cucchiaio")
For Each item in posate
Print item
Next ' item
End Sub