Visual Basic Scripting Edition  

Utilizar instrucciones condicionales

Controlar la ejecución del programa

Puede controlar el flujo de su secuencia de comandos con instrucciones condicionales y instrucciones de bucle. Mediante instrucciones condicionales, puede escribir código VBScript para tomar decisiones y repetir acciones. Están disponibles las siguientes instrucciones condicionales en VBScript:

Tomar decisiones con If...Then...Else

La instrucción If...Then...Else se utiliza para evaluar si una condición es True o False y, según el resultado, especificar una o más instrucciones para ejecutar. Normalmente, la condición es una expresión que utiliza un operador de comparación para comparar un valor o variable con otro. Para obtener más información acerca de operadores de comparación, consulte Operadores de comparación. Las instrucciones If...Then...Else se pueden anidar a tantos niveles como necesite.

Ejecutar instrucciones si una condición es True

Para ejecutar sólo una instrucción cuando una condición es True, utilice la sintaxis de línea simple para la instrucción If...Then...Else. El siguiente ejemplo muestra la sintaxis de línea simple. Tenga en cuenta que este ejemplo omite la palabra clave Else.

Sub FixDate()
   Dim myDate
   myDate = #2/13/95#
   If myDate < Now Then myDate = Now
End Sub

Para ejecutar más de una línea de código, debe utilizar la sintaxis de línea múltiple (o bloque). Esta sintaxis incluye la instrucción End If, tal y como se muestra en el siguiente ejemplo:

Sub AlertUser(valor)
   If value = 0 Then
      AlertLabel.ForeColor = vbRed
      AlertLabel.Font.Bold = True
      AlertLabel.Font.Italic = True
   End If
End Sub

Ejecutar ciertas instrucciones si una condición es True y ejecutar otras si una condición es False

Puede utilizar una instrucción If...Then...Else para definir dos bloques de instrucciones ejecutables: un bloque para ejecutarse si la condición es True, el otro bloque para ejecutarse si la condición es False.

Sub AlertUser(valor)
   If value = 0 Then
      AlertLabel.ForeColor = vbRed
      AlertLabel.Font.Bold = True
      AlertLabel.Font.Italic = True
   Else
      AlertLabel.Forecolor = vbBlack
      AlertLabel.Font.Bold = False
      AlertLabel.Font.Italic = False
   End If
End Sub

Decidir entre varias alternativas

Una variación en la instrucción If...Then...Else le permite elegir entre diversas alternativas. Agregar cláusulas ElseIf expande la funcionalidad de la instrucción If...Then...Else de modo que puede controlar el flujo del programa basado en diferentes posibilidades. Por ejemplo:

Sub ReportValue(valor)
   If value = 0 Then
      MsgBox value
   ElseIf value = 1 Then
      MsgBox value
   ElseIf value = 2 then
      Msgbox value
   Else
      Msgbox "Valor fuera de intervalo."
   End If

Puede agregar tantas cláusulas ElseIf como necesite para proporcionar opciones alternativas. El uso extensivo de las cláusulas ElseIf se convierte a menudo engorroso. Un mejor modo de elegir entre diversas alternativas es la instrucción Select Case.

Tomar decisiones con Select Case

La estructura Select Case proporciona una alternativa a If...Then...ElseIf para ejecutar de forma selectiva un bloque de instrucciones de entre múltiples bloques. Una instrucción Select Case proporciona capacidad similar a la de la instrucción If...Then...Else, pero hace que el código sea más eficaz y legible.

Una estructura Select Case funciona con una expresión de prueba simple que se evalúa una vez, en la parte superior de la estructura. El resultado de la expresión se compara entonces con los valores para cada instrucción Case en la estructura. Si existe una coincidencia, se ejecuta el bloque de instrucciones asociadas con dicho Case, como se muestra en el siguiente ejemplo:

Select Case Document.Form1.CardType.Options(SelectedIndex).Text
   Case "MasterCard"
      DisplayMCLogo
      ValidateMCAccount
   Case "Visa"
      DisplayVisaLogo
      ValidateVisaAccount
   Case "American Express"
      DisplayAMEXCOLogo
      ValidateAMEXCOAccount
   Case Else
      DisplayUnknownImage
      PromptAgain
End Select

Tenga en cuenta que la estructura Select Case evalúa una expresión una vez en la parte superior de la estructura. En contraposición, la estructura If...Then...ElseIf puede evaluar una expresión diferente para cada instrucción ElseIf. Puede reemplazar una estructura If...Then...ElseIf con una estructura Select Case sólo si cada instrucción ElseIf evalúa la misma expresión.

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