Visual Basic Scripting Edition  

Instrucción For Each...Next

Repite un grupo de instrucciones para cada elemento en una matriz o colección.

For Each elemento In grupo
    [instrucciones]
    [Exit For]
    [instrucciones]
Next [elemento]

Argumentos

elemento
Variable utilizada para repetir los elementos de la colección o matriz. Para colecciones, elemento sólo puede ser una variable Variant, una variable genérica Object o cualquier variable de objeto de automatización específica. Para matrices, elemento sólo puede ser una variable Variant.
grupo
Nombre de una colección de objetos o matrices.
instrucciones
Una o varias instrucciones que se ejecutan en cada elemento del grupo.

Comentarios

El bloque For Each se inicia si existe al menos un elemento en el grupo. Una vez que se ha iniciado el bucle, se ejecutan todas las instrucciones en el bucle para el primer elemento del grupo. Siempre que existan más elementos en el grupo, las instrucciones del bucle continúan ejecutándose para cada elemento. Cuando no existen más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a Next.

Exit For sólo se puede utilizar dentro de una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salida. Se puede ubicar cualquier número de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que aparece inmediatamente después de Next.

Puede anidar bucles For Each...Next si ubica un bucle For Each...Next dentro de otro. Sin embargo, cada elemento del bucle debe ser único.

Nota   Si omite elemento en una instrucción Next, la ejecución continúa como si lo hubiera incluido. Si se ejecuta una instrucción Next antes de su instrucción For correspondiente, se produce un error.

El siguiente ejemplo ilustra el uso de la instrucción For Each...Next:

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

Requisitos

Versión 2

Consulte también

Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend

Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.