En cualquier lenguaje de programaci�n se nos plantea, en muchas ocasiones, la necesidad de realizar una operaci�n mas de una vez, en un proceso reiterativo. Esa operaci�n puede realizarse un n�mero determinado o indeterminado de veces. En VBScript tenemos varias estructuras que nos lo permiten. Vamos a conocerlas todas y as� sabremos como elegir una u otra seg�n las circunstancias.
�BUCLES FOR... NEXT
Esta estructura se emplea cuando es necesario repetir un bloque de operaciones un n�mero determinado de veces. Un bucle FOR ... Next emplea para ello un variable de control que act�a como contador de las veces que se ha procesado el bucle. La variable que act�a como contador parte de un valor_inicial. Cada vez que se ejecuta el BLOQUE DE SENTENCIAS incluido en el bucle la variable de contador se incrementa en una unidad. Opcionalmente el incremento puede ser diferente de la unidad, incluyendo el par�metro STEP seguido del �ndice de incremento que deseemos. Cuando el contador alcanza el valor_final se deja de ejecutar el bucle y se sigue ejecutando el programa a partir de la instrucci�n que va detr�s de NEXT. La estructura general es la siguiente:
FOR contador = valor_inicial TO valor_final STEP incremento BLOQUE DE SENTENCIAS NEXT
Veamos unos ejemplos de uso.
<HTML> <HEAD> <TITLE>Prueba de bucle FOR...NEXT</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE = "VBScript"> OPTION EXPLICIT DIM contador FOR contador = 0 TO 5 DOCUMENT.WRITE (contador & "<BR>") NEXT DOCUMENT.WRITE ("Se acab� la cuenta") </SCRIPT> </BODY> </HTML>
El resultado de la ejecuci�n de �ste c�digo ser� el siguiente:
0 1 2 3 4 5 Se acab� la cuenta
Bien. Ahora supongamos el siguiente ejemplo de c�digo:
<HTML> <HEAD> <TITLE>Prueba de bucle FOR...NEXT</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE = "VBScript"> OPTION EXPLICIT DIM contador FOR contador = 0 TO 10 STEP 2 DOCUMENT.WRITE (contador & "<BR>") NEXT DOCUMENT.WRITE ("Se acab� la cuenta") </SCRIPT> </BODY> </HTML>
El resultado ser�:
0 2 4 6 8 10 Se acab� la cuenta
Como vemos en el �ltimo ejemplo, la cuenta se ha realizado de dos en dos por la coletilla STEP 2 que hemos a�adido a la instrucci�n FOR.
�BUCLES DO WHILE...LOOP
Este tipo de bucles se emplean para efectuar (DO) una operaci�n un n�mero indeterminado de veces mientras (WHILE) se cumpla una condici�n. Su estructura general es la siguiente:
DO WHILE (condici�n) BLOQUE DE INSTRUCCIONES LOOP
El BLOQUE DE INSTRUCCIONES, contenido entre las l�neas DO y LOOP se ejecutar� mientras se cumpla la condici�n. Supongamos que ha llegado la hora de pedirle al usuario una palabra clave para continuar ejecutando un programa. Esta palabra ser�, por ejemplo, AUTORIZADO. Veamos como lo har�amos:
<HTML> <HEAD> <TITLE>Prueba de DO WHILE ... LOOP</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE = "VBScript"> OPTION EXPLICIT DIM clave clave = "" DO WHILE (clave <> "AUTORIZADO") ' Ejecuta mientras la clave no es igual a <> AUTORIZADO clave = INPUTBOX ("Teclea la clave:") LOOP MSGBOX ("La clave ya es correcta") </SCRIPT> </BODY> </HTML>
Este ejemplo mostrar� el siguiente cuadro de di�logo y no seguir� adelante hasta que se introduzca la palabra AUTORIZADO. Si se introduce mal la clave, seguir� mostrando la pregunta indefinidamente.

Una vez introducida la clave correctamente el programa continuar� su ejecuci�n mostrando lo siguiente:

Bien. Veamos m�s posibilidades.