martes, 11 de agosto de 2009

Cómo hacer mensajes de error (de los de verdad) II

En el post anterior vimos cómo crear un mensaje de error esándar. Ahora vamos a aprender algo más. Recordamos el código de la ventana:

a = MsgBox("texto",x+y, "título")

Vamos a aprender a hacer acciones con las ventanas, y a hacer otro tipo de ventanas:

'x' se puede sustituir por:
0 - Aceptar
1 - Aceptar : Cancelar
2 - Anular : Reintentar : Omitir
3 - Sí : No : Cancelar
4- Sí : No
5 - Reintentar : Cancelar

'y' se puede sustituir por:
16 - Mensaje de error
32 - Pregunta
48 - Mensaje de advertencia
64 - Información

Por lo tanto, podemos hacer distintos tipos de ventana.
Si queremos que al cerrar una ventana nos aparezca otra, ponemos su código debajo. Mira:

a = MsgBox("texto1",0, "título1")
b = MsgBox("texto2",0, "título2")

Así, al pulsar en Aceptar, aparecerá otra ventana. ¿Y si tenemos un mensaje de tipo 1? (en donde aparecen Aceptar y Cancelar). Condicionamos el resultado con if

a = MsgBox("texto1",1, "título1")
if a=vbOK then
b = MsgBox("texto2",0+64, "título2")
else
c = MsgBox("texto3",0+48, "título3")
end if

Al pulsar Aceptar aparecerá una ventana, y si ese no es el caso, se usa else, para referirse al resto de opciones. Así, al pulsar en otro sitio aparecerá una ventana diferente.
Si símplemente queremos que la ventana se cierre (sin salir otra) al pulsar Cancelar, no usamos else. Eso sí, hay que cerrar tag con end if.

Si queremos abrir un programa al pulsar un botón, usamos el comando shell que funciona así:

shell("ruta y nombre del programa")

Si quieremos abrir un archivo concreto, tenemos que cargar el programa con el que está hecho, luego el archivo. Se usa call shell, y es así:

call shell("ruta y nombre del programa","ruta y nombre del archivo")

-----------------------------------------------------

Hemos visto las ventanas de tipo MsgBox. Otro tipo de ventana más útil es la InputBox. Su código es muy muy parecido a la MsgBox:

a=ImputBox("texto de la ventana","título")

Esto crea ua ventana normal con un cuadro de insercción de texto.
Este es el código de una ventana de ejemplo y el resultado:

a=ImputBox("Escribe tu nombre","Usuario")

Esto no hace nada, si no le damos órdenes. Yo de momento no sé :P pero ya me las arreglaré.

1 comentario:

Superficie_Superficial dijo...

Muchísimas gracias! me has dado una idea muy original para una sorpresa. Lo que pasa es que aún me lío con los If. Si quiero prohibir que la ventana se cierre con la x y solo se puedan abrir los botones, que debería hacer?
Muchas gracias por el aporte!