Menú que no se muestra

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Menú que no se muestra

Notapor 3r3ct0 » 05 Jun 2005 14:56

He creado un menú de usuario el cual debo mostrar a través de la ventana de personalización de las barras de herramientas, puesto que el mismo no queda visible luego de ejecutar la macro con la cual lo creo.

El código va como sigue:

[font=Courier, monospace]Dim cbMainMenu As CommandBar
Set cbMainMenu = CommandBars.Add(Name:="MainMenu", Position:=msoBarTop, MenuBar:=False, Temporary:=False)[/font]


El menú en cuestión se rea sin ningún tipo de error, pero no queda visible, para hacerlo visible debo hacer clic con el botón derecho sobre la barra de herramientas y luego mostrarlo, esto resulta molesto a los usuarios y no enuentro una solución a mi problema.

De antemano gracias por la ayuda que puedan prestarme.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
3r3ct0
Miembro Frecuente
Miembro Frecuente
 
Registrado: 05 Jun 2005 14:38
Ubicación: Guanare

Re: Menú que no se muestra

Notapor Chicharrero » 05 Jun 2005 16:19

Estimado 3r3ct0 :

Añade esta linea a tu Macro

Application.CommandBars("MainMenu").Visible = True

Esto hara que tu Menu personalizado se muestre..
Otra cosa es desde donde llames a la macro, me explico, si la llamas desde un botón y por primera vez la macro correra bien, ahora, una segunda llamada producira un error de tipo "Argumento o llamada de Tipo no valido" supongo que porque la macro crea el menú y solo una vez..

Te recomiendo usar un evento auto_open para facilitar la acción al usuario

Espero te sirva, si no es asi aguarda algún usuario te dará una mejor solución

Salu2 desde Canarias
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Chicharrero
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Mar 2005 23:33
Ubicación: Islas Canarias

Re: Menú que no se muestra

Notapor 3r3ct0 » 05 Jun 2005 17:49

¡Caramba!, no imaginé que obtendrí­a una respuesta tan rápidamente.

Muchas gracias :?

Respecto a lo que me indicas del error que puede generarse al momento de crear el menú. Es un problema que resolví­ haciendo un ciclo que recorre las opciones del menú y las elimina. El menú es creado una vez que el usuario introduce una contraseña en un UserForm. Si esa contraseña es correcta, ejecuto una rutina que crea el menú.

Si el usuario escribe la contraseña correcta creo el menú. Si es errada cierro Excel, y en caso de que seleccione cancelar, verifico si ya existe el menú y si es así­, lo elimino como describí­ antes sino simplemente salgo del formulario.

Abajo puedes ver parte del código donde elimino el menú...
' Se verifica si existe el menu...
[font=Courier, monospace]If Application.CommandBars("MainMenu").Controls.Count >= 1 Then
For i = 1 To Application.CommandBars("MainMenu").Controls.Count
' Se elimina cada í­tem del menú...
Application.CommandBars("MainMenu").Controls(1).Delete
Next i
End If

' Se elimina el menú propiamente...
Application.CommandBars("MainMenu").Delete[/font]
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
3r3ct0
Miembro Frecuente
Miembro Frecuente
 
Registrado: 05 Jun 2005 14:38
Ubicación: Guanare

Re: Menú que no se muestra

Notapor Chicharrero » 09 Jun 2005 05:14

Estimado 3r3ct0 :

Quiza en esa aplicación que creaste, y mas especificamente en la subrutina de creación del menú hagas desaparecer la barras de menú prederterminada(Archivo,Edición, etc..), si es asi, supongo que tendras otra rutina, con evento u otro procedimiento, al que llamas para ocultar esto.....pero te has fijado que estableciendo MenuBar en TRUE, se oculta!!!!
Set cbMainMenu = CommandBars.Add(Name:="MainMenu", Position:=msoBarTop, MenuBar:=True, Temporary:=False)

Una Curiosidad,,, Salu2 amigo desde Canarias
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Chicharrero
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Mar 2005 23:33
Ubicación: Islas Canarias


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Hubito1709 y 4 invitados