For Each...Next, instruction

Microsoft VBScript

Microsoft® Visual Basic® Scripting Edition For Each...Next, instruction  Référence du langage 
Version 2 


Description
Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection.
Syntaxe
For Each element In group
    [statements]
    [Exit For]
    [statements]
Next [element]

La syntaxe de l'instruction For Each...Next comprend les éléments suivants :

Élément Description
element Variable employée pour effectuer une itération sur les éléments de la collection ou du tableau. Pour les collections, l'argument element peut uniquement être une variable de type Variant, une variable de type Object générique, ou n'importe quelle variable d'objet Automation spécifique. Pour les tableaux, l'argument element peut être uniquement une variable de type Variant.
group Nom d'une collection d'objets ou d'un tableau.
statements Une ou plusieurs instructions pouvant être exécutées sur chaque élément d'un groupe indiqué par group.

Notes
Le bloc d'instruction For Each peut être tapé si l'entité group comporte au moins un élément. Une fois la boucle, toutes les instructions de celle-ci sont exécutées pour le premier élément de l'entité group. Puis, tant qu'il reste des éléments dans l'entité group, les instructions de la boucle continuent à s'exécuter pour chaque élément. Lorsqu'il n'y a plus d'éléments dans l'entité group, le programme sort de la boucle et exécute l'instruction se trouvant immédiatement après l'instruction Next.

L'instruction Exit For ne peut être utilisée qu'à l'intérieur d'une structure de contrôle For Each...Next ou For...Next pour fournir un autre mode de sortie. La boucle peut inclure un nombre illimité d'instructions Exit For. L'instruction Exit For est souvent employée avec l'évaluation d'une condition (par exemple, If...Then), et transfère le contrôle à l'instruction se trouvant immédiatement après Next.

Vous pouvez imbriquer des boucles For Each...Next en plaçant une boucle For Each...Next à l'intérieur d'une autre. Cependant, chaque element de boucle doit être unique.


Remarque  Si vous omettez l'argument element dans une instruction Next, l'exécution se poursuit comme si vous l'aviez incluse. Si une instruction Next est rencontrée avant son instruction For correspondante, une erreur se produit.

L'exemple ci-dessous illustre l'utilisation de l'instruction For Each...Next :

Function ShowFolderList(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
    s = s & f1.name 
    s = s & "<BR>"
  Next
  ShowFolderList = s
End Function