Jump to content
Pirtrafilla

Ayuda con Msgbox con varias opciones

Recommended Posts

Hola a todos.

Quería preguntar si es posible un msgbox que tenga dos opciones, por ejemplo Opción 1 y Opción 2 y cancelar/salir.

He estado leyendo y no veo esta posibilidad. No me interesa hacer un formulario, necesitaría que fuera con un msgbox.

La única posibilidad que se me ocurre es utilizar el vbYes y vbNo, pero los botones no veo que se les pueda cambiar el título al texto que quisiera poner.

Gracias de antemano por la ayuda.

Moisés.

 

 

 

 

Share this post


Link to post
Share on other sites
Hace 2 horas, Pirtrafilla dijo:

No me interesa hacer un formulario, necesitaría que fuera con un msgbox.

Directamente con MsgBox No se puede, tienes que hacer tu función personalizada que llame a un formulario, es lo más barato que te puedo ofrecer B), una vez hecha tu función lo llamas como cualquier Mi_MsgBox... o hacerlo con los API's de Windows, como te describe el enlace del post anterior.

Saludos.

Share this post


Link to post
Share on other sites
En 18/10/2018 at 16:52 , Pirtrafilla dijo:

... es posible un msgbox que tenga dos opciones, por ejemplo Opción 1 y Opción 2 y cancelar/salir.

... No me interesa hacer un formulario, necesitaría que fuera con un msgbox.

... se me ocurre... utilizar el vbYes y vbNo, pero los botones no veo que se les pueda cambiar el título ...

te interesa recordar (o conocer) un poco de tecnología "antediluviana" ?

desde el editor de VBA (atajo: Alt + F11) muestra la ventana de inmediato (atajo: ctrl + G) y copia/pega (o escribe) lo siguiente (al final de la línea pulsas {enter} para su ejecución):

executeexcel4macro "dialog.box({0,0,0,390,80,""Titulo"",0;5,6,6,120,10,""Aquí tu mensaje …"",0;3,18,30,90,30,""Opcion 1"",0;3,116,30,90,30,""Opcion 2"",0;3,216,30,160,30,""Terminar / Cancelar"",0})"

saludos,
hector.

Share this post


Link to post
Share on other sites

@Héctor Miguel. Hola Héctor, he modificado a "mi gusto" el formato a presentar...

executeexcel4macro "dialog.box({0,0,0,330,80,""Crear fichero OC/GC"",0;5,6,6,320,10,""    ELIJE UN FORMATO DE FICHERO A CREAR"",0;3,18,30,90,30,""Citrix"",0;3,116,30,90,30,""Navision"",0;3,216,30,90,30,""Cancelar"",0})"

executeexcel4macro "dialog.box({0,0,0,330,80,""Crear fichero OC/GC"",0;5,6,6,320,10,""    ELIJE UN FORMATO DE FICHERO A CREAR"",0;3,18,30,90,30,""Citrix"",0;3,116,30,90,30,""Navision"",0;3,216,30,90,30,""Cancelar"",0})"

Hasta aquí lo fácil. Y ahora, ¿como llamo a este código desde la macro? ¿Como se que opción se ha seleccionado?

Este comando, entiendo queda grabado en mi archivo, ¿es así?

Gracias Héctor. Lo cierto es que parte de VBA ni la conocía, si me puedes dar un poco de luz te lo agradezco.

Moisés.

 

Share this post


Link to post
Share on other sites

He puesto esto en la macro:

m4 = ExecuteExcel4Macro("dialog.box({0,0,0,330,80,""Crear fichero OC/GC"",0;5,6,6,320,10,""    ELIJE UN FORMATO DE FICHERO A CREAR"",0;3,18,30,90,30,""Citrix"",0;3,116,30,90,30,""Navision"",0;3,216,30,90,30,""Cancelar"",0})")

MsgBox m4

Para ver el resultado dependiendo del botón pulsado, pero siempre me da resultado "0". Por eso pregunto como saber el botón que se ha pulsado. Con eso ya sabes a donde enviar e ejecutar el código siguiente de la macro.

Gracias de antemano.

Share this post


Link to post
Share on other sites

Sigo buscando por internet, pero consigo ver como saber que opción he hecho click.

El botón ha quedado "Precioso", y esto debe ser de muchísima utilidad, porque se puede adaptar a muchas necesidades, pero estoy muy limitado y buscando en la Red no logro encontrar como configurar el mensaje para saber que he pulsado.

image.png.280b3e952ad9d033c6b65845896c4c84.png

Share this post


Link to post
Share on other sites
En 20/10/2018 at 13:21 , Antoni dijo:

Pues aquí tienes 700 páginas para entretenerte con el tema.

Pues esta bueno como referencia, pero no tiene ejemplos de como es la SINTAXIS para poder programar, por ejemplo DIALOG.BOX, NO ENTIENDO COMO PONER LOS BOTONES Y PODER EJECUTAR LAS MACROS CORRESPONDIENTES.

SALUDOS.

Share this post


Link to post
Share on other sites
Hace 10 horas, Leopoldo Blancas dijo:

Por que no usas un UserForm, se vería igual que el MsgBox...???

Hola, te explico. El programa está distribuido por diferentes oficinas dentro y fuera del país. Si he actualizarlo, con hacerlo solo en una macro me es suficiente. Si he de crear un formulario Activex y ponerle código debería hacerlo uno a uno, y eso es casi imposible que lo haga bien o llegue a todos.

Por eso pensaba que había posibilidad de modificar el Msgbox, esto me sería de muchísima utilidad.

Pero como comentaba, el formato siguiendo los apuntes de @Héctor Miguel ha quedado correcto, pero veo imposible con mis conocimientos como saber que opción se ha pulsado para ejecutar de una u otra manera la macro siguiente.

Moisés.

 

Share this post


Link to post
Share on other sites

Pues, @Antoni me tendré que decantar por tu solución. Lo cierto es que la que proponía @Héctor Miguel me atraía mucho y además era muy interesante por lo de poder manipular el diseño del mensaje, pero si diseñamos el Msgbox a nuestro gusto y luego no se puede saber que opción hemos hecho click, no hemos conseguido mucho. Me había hecho ilusiones.

Tu solución desde luego es la más práctica.

Muchas gracias.

Moisés.

Share this post


Link to post
Share on other sites
Hace 1 hora, Pirtrafilla dijo:

si diseñamos el Msgbox a nuestro gusto y luego no se puede saber que opción hemos hecho click, no hemos conseguido mucho. Me había hecho ilusiones

encontrar por la web información relativa a las macro-funciones del (viejo ?) excel v-4.0 es "misión imposible" (y cada vez más escasa al devenir del tiempo)

voy a preparar un ejemplo "en forma" con el caso de esta consulta, porque no es lo mismo...
- saber que "circula por ahí" un listado de vocablos de un lenguaje ancestral
- - (que no te dice cómo formar frases y oraciones y cómo establecer una comunicación eficaz)
- que... "hablarlo" (y escribirlo, y entenderlo y etc.)

saludos,
hector.

Share this post


Link to post
Share on other sites

@Héctor Miguel perdona que sea tan insistente, pero es algo que me parece tan interesante que me voy a dormir todos los días con el teléfono encendido a ver si veo el ejemplo para poder diseñar un Msgbox a tu gusto.

Pues eso, cuando te sea posible enviar un ejemplo de verdad que te estamos muy agradecidos.

Moisés.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png