CAPITULO 8: Uso avanzado de MSGBOX ()
Hemos visto el uso genérico de MSGBOX. En realidad esta es una función del lenguaje aunque, por su particular relevancia le vamos a dedicar un capítulo aparte. Esta función tiene muchas mas posibilidades de las que hemos visto hasta ahora. De hecho sirve para mostrar distintos tipos de cuadros de confirmación, mensajes o preguntas al usuario. Algunos de esos cuadros tienen varias posibles actuaciones por parte del usuario y son capaces de identificar cual ha sido la respuesta elegida y actuar en consecuencia. Como particularidad debemos reseñar que MSGBOX, en todos los usos que se le den, es una función, ya que devuelve un resultado. Si nos acordamos, existe una modalidad, la mas simple, que se llamaba como una función:
MSGBOX ("Esto es un resultado")
Esta instrucción no produce mas que un cuadro de mensaje en pantalla y queda esperando a que el usuario pulse el botón Aceptar. Como ves tiene algo de excepcional. Es una función y no devuelve ningún resultado. Ahora Veamos una línea un tanto especial:
CALL MSGBOX ("Mensaje", VBOKONLY, "Título")
Fíjate que se está usando la función llamándola como si fuera un procedimiento. Esta línea produce un resultado idéntico a la anterior.
Ahora vamos a usar la función en toda su plenitud. Supongamos la siguiente línea de código:
confirmacion = MSGBOX ("Mensaje", VBOKCANCEL, "Título")
Esto generará el siguiente cuadro:
A continuación esperará a que el usuario pulse uno de los dos botones. Y ¿qué se guardará en la variable confirmacion? Pues un número que será distinto según el botón que haya pulsado el usuario. Si pulsa en Aceptar se guardará un 1. Si pulsa en cancelar se guardará un 2. De esta forma, podremos usar, por ejemplo, un condicional para que nuestro programa ejecute una operación u otra, según la decisión del usuario. Veamos mas posibilidades. Al final de este capítulo tienes una lista completa de los posibles botones que se muestran a continuación y los valores numéricos que generan para su posterior identificación.
resultado = MSGBOX ("Mensaje", VBYESNOCANCEL, "Titulo")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBABORTRETRYIGNORE, "Título")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBYESNO, "Título")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBRETRYCANCEL, "Título")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBCRITICAL, "Título")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBQUESTION, "Título")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBEXCLAMATION, "Titulo")
Genera el siguiente cuadro:
resultado = MSGBOX ("Mensaje", VBINFORMATION, "Título")
Genera el siguiente cuadro:
Los diferentes valores que recibiría la variable resultado, según el botón que pulse en cada caso el usuario, son:
| Botón | Valor |
| Aceptar | 1 |
| Cancelar | 2 |
| Anular | 3 |
| Reintentar | 4 |
| Ignorar | 5 |
| Sí | 6 |
| No | 7 |