Bucles de VBScript: hacer mientras, hacer hasta, mientras, para cada uno (ejemplo)
⚡ Resumen inteligente
El libro "VBScript Loops" explica cómo repetir acciones utilizando las estructuras Do While, Do Until, While Wend, For Next, For Step y For Each, abarcando la sintaxis, las condiciones de salida y ejemplos.

¿Por qué se utilizan bucles en VBScript?
Los bucles se utilizan para ejecutar el mismo bloque de código una y otra vez. Hay varios tipos de bucles en VBScript.ping declaraciones. Algunas de las expresiones VBScriptping Las declaraciones son Do While, Do Until, For…Next, etc. Entonces, ¿cómo decidirás cuál elegir?ping ¿Qué declaración utilizar para su necesidad?
Al ejecutar los bucles, es posible que sepa o no cuántas veces desea ejecutar un conjunto de instrucciones. Por ejemplo, desea calcular la suma de dos números diez veces. En este caso, ya sabe que desea repetir un bloque de código 10 veces. Supongamos que desea calcular la suma de dos números hasta que una variable en particular sea verdadera. Aquí, no sabe cuántas veces se ejecutará el bucle. Por lo tanto, según conozca o no el número de ejecuciones, puede utilizar diferentes tipos de bucles.ping Declaraciones.
Para…Siguiente bañoping Las instrucciones se utilizan si se desea repetir un bloque de código un número finito de veces, es decir, si se conoce el número de veces que se desea repetir el bloque de código.
Hazlo mientras y hazlo hasta queping Las sentencias se utilizan cuando se desea repetir un bloque de código hasta que una condición se vuelva verdadera o falsa, es decir, cuando no se conoce la cantidad de veces que se desea ejecutar el bloque de código.
Echemos un vistazo a estos bañosping declaraciones una por una.
VBScript hacer mientras bucle
Si no sabe la cantidad de veces que necesita ejecutar un bloque de código, entonces utilizará los bucles Do While. Por ejemplo, desea generar el mensaje "Bienvenido" mientras el valor de la variable x es menor que 5. En tal caso, se utilizará el bucle Do While.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Si intentas ejecutar el código, obtendrás un resultado como este:
El bloque se ejecuta cuatro veces (cuando x=1,2,3 y 4) y el ciclo termina cuando el valor de x se convierte en 5. Si olvidas la declaración x=x+1, entonces tu ciclo se convertirá en un ciclo sin fin. uno. Este tipo de bucles se conoce como bucles infinitosLos bucles infinitos podrían incluso bloquear su sistema. Por lo tanto, al usar bucles Do Whileping declaraciones, debes asegurarte de que haya algún código que haga el looping condición que se cumple en algún momento u otro.
Si asigna el valor 7 a la variable x al principio, el bloque de código no se ejecutará ni una sola vez. Supongamos que desea ejecutar el bloque de código al menos una vez independientemente de la condición, entonces puede usar el bucle Do While. Cambie el código así:
Ejemplo de VBScript:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Si ejecuta este código, recibirá el mensaje "Bienvenido" solo una vez. Aquí la condición se verifica solo después de ejecutar el bucle una vez.
VBScript hacer hasta bucle
El bucle 'Do Until' también se utiliza cuando no se sabe el número de veces que se necesita para ejecutar un bloque de código. El primer bloque de código en el bucle Do Until (Do While x<5) es equivalente al bloque de código que se proporciona a continuación.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Esto le dará el mismo resultado que el primer bloque de código en el bucle Do While. Verá el mensaje de bienvenida cuatro veces. Similar a Do…..Loop While, también tenemos que Do…Loop Until.
Si desea salir de un bucle Do While o Do Until intermedio, puede utilizar la instrucción Exit Do. Supongamos que desea salir del bloque cuando el valor de x sea 3 en el programa anterior, entonces necesita codificar así:
<script type="text/vbscript"> Dim x x=1 Do Until x=5 If x=3 Then Exit Do document.write("Welcome.") x=x+1 Loop </script>
Si ejecuta el código, su salida se verá así:
Aquí se sale del ciclo cuando el valor de x se convierte en 3.
VBScript mientras bucle
El bucle While...Wend es similar al bucle Do While, aunque no se utiliza habitualmente. As Do While está más estructurado que While.....Wend loop, los programadores suelen utilizar declaraciones Do While.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
La salida será
VBScript para el siguiente bucle
El bucle For-Next se puede utilizar para ejecutar un bloque de código una cantidad específica de veces. El “bucle For de VBScript” especifica la variable del contador y sus valores de inicio y fin. La siguiente declaración aumenta la variable del contador en uno.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Si ejecuta el código, obtendrá un resultado como este:
Bucle de VBScript para el paso siguiente
De forma predeterminada, la variable del contador se incrementa en uno. Si desea aumentar o disminuir la variable del contador según el valor que especifique, puede usar el bucle For….Step….Next. Supongamos que en el código anterior desea incrementar el contador en 2 y luego modificar su código de esta manera:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
La salida de este código será:
Si desea salir de un bucle Para el siguiente o Para el paso siguiente en el medio, puede usar Salir para la declaración. Supongamos que desea salir del bloque cuando el valor de i sea 3 en el programa anterior, entonces necesita codificar así:
<script type="text/vbscript"> For i = 1 To 5 Step 2 If i=3 Then Exit For document.write("The number is " & i & "<br />") Next </script>
La salida será:
VBScript para cada siguiente bucle
Si desea repetir un bloque de código para cada elemento de una colección o para cada elemento de una matriz VBS, entonces necesita usar el bucle For…Each…Next.
<script type="text/vbscript"> Dim students(4) students(0)="John" students(1)="Hanah" students(2)="Sarah" students(3)="Kevin" students(4)="Emma" For Each x In students document.write(x & "<br />") Next </script>
La salida del código especificado anteriormente será
Code Ejemplo
<html> <head> <script type="text/vbscript"> Dim name, length name = InputBox("Enter your name") length = Len(name)’Gives length of the input string For i = 1 To length txt = Mid(name,i,1)'Returns a specified number of characters from a string, the first parameter is the string, second parameter is the starting position and third parameter is the number of characters to return If txt="a" or txt="A" or txt="e" or txt="E" or txt="i" or txt="I" or txt="o" or txt="O" or txt="u" or txt="U" Then counter = counter+1 End If Next document.write("Hi " & name & "!!!Your name contains " & counter & " vowels.") </script> </head> <body> </body> </html>
Guarde el archivo como loop.html en la ubicación que prefiera. Ahora abra el archivo en Internet Explorer y aparecerá un cuadro que le solicitará que ingrese su nombre. Ingrese un nombre, por ejemplo Aaron, de esta manera:
Haga clic en Aceptar y su resultado se verá así:




