Menus en la barra de herramientas

14/06/2005 - 13:35 por Angel O | Informe spam
Hola amigos. Hace unas semanas lei algon en el foro sobre como poner botones
de menus en la barra de herramientas y ahora no lo localizo. Alguien pude
decirme dond está? Se trata de poner menus y submenus a partir de una opción
en la barra de herramientas. Gracias a todos, el foro creo que es muy, muy
interesante, y los no expertos, aprendemos mucho de vosotros.

Gracias de nuevo

Angel O.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
14/06/2005 - 13:39 | Informe spam
"Angel O" escribió en el mensaje news:
Hola amigos. Hace unas semanas lei algon en el foro sobre como poner botones
de menus en la barra de herramientas y ahora no lo localizo. Alguien pude
decirme dond está? Se trata de poner menus y submenus a partir de una opción
en la barra de herramientas. Gracias a todos, el foro creo que es muy, muy
interesante, y los no expertos, aprendemos mucho de vosotros.

Gracias de nuevo

Angel O.





Herramientas > Personalizar > solapa "Comandos"
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 Angel O
14/06/2005 - 15:53 | Informe spam
No, esto lo que hace es agragar botones standars del excel, yo lo que quiero
es definit un menu directamente en la barra (no se como se llama), Archivo,
Edicion, ..., Ayuda, Aqui quiero mi menu. y al pinchar se me despliegue un
"desplegable" con mis submenus.


"Fernando Arroyo" escribió en el mensaje
news:
"Angel O" escribió en el mensaje
news:
Hola amigos. Hace unas semanas lei algon en el foro sobre como poner


botones
de menus en la barra de herramientas y ahora no lo localizo. Alguien pude
decirme dond está? Se trata de poner menus y submenus a partir de una


opción
en la barra de herramientas. Gracias a todos, el foro creo que es muy, muy
interesante, y los no expertos, aprendemos mucho de vosotros.

Gracias de nuevo

Angel O.





Herramientas > Personalizar > solapa "Comandos"
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#3 Angel O
14/06/2005 - 16:12 | Informe spam
Y que este accisible solo en el fichero en cuestión.

Gracias.

Àngel O.


"Angel O" escribió en el mensaje
news:
No, esto lo que hace es agragar botones standars del excel, yo lo que


quiero
es definit un menu directamente en la barra (no se como se llama),


Archivo,
Edicion, ..., Ayuda, Aqui quiero mi menu. y al pinchar se me despliegue un
"desplegable" con mis submenus.


"Fernando Arroyo" escribió en el mensaje
news:
"Angel O" escribió en el mensaje
news:
> Hola amigos. Hace unas semanas lei algon en el foro sobre como poner
botones
> de menus en la barra de herramientas y ahora no lo localizo. Alguien


pude
> decirme dond está? Se trata de poner menus y submenus a partir de una
opción
> en la barra de herramientas. Gracias a todos, el foro creo que es muy,


muy
> interesante, y los no expertos, aprendemos mucho de vosotros.
>
> Gracias de nuevo
>
> Angel O.
>
>

Herramientas > Personalizar > solapa "Comandos"
Un saludo.


Fernando Arroyo
MS MVP - Excel




Respuesta Responder a este mensaje
#4 Fernando Arroyo
14/06/2005 - 17:03 | Informe spam
Por ejemplo, para crear un menú llamado MiMenú, con tan sólo un elemento, y que estuviera disponible tan sólo cuando se abriera el libro donde esté situado el código, tendrías que:

1.- Poner el siguiente código en el módulo del libro (en ThisWorkbook):

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call EliminarMenúMiMenú
End Sub

Private Sub Workbook_Open()
Dim MenúAyuda As CommandBarControl
Dim MenúNuevo As CommandBarPopup
Dim ElementoDeMenú As CommandBarButton

'Eliminar el menú "MiMenú", si existe
Call EliminarMenúMiMenú

'Localizar el menú Ayuda
Set MenúAyuda = Application.CommandBars(1).FindControl(ID:0010)

If MenúAyuda Is Nothing Then
'Añadir el nuevo menú al final
Set MenúNuevo = CommandBars(1).Controls.Add(Type:=msoControlPopup, temporary:=True)
Else
'Añadir el nuevo menú antes de Ayuda
Set MenúNuevo = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=MenúAyuda.Index, temporary:=True)
End If

'Añadir un título
MenúNuevo.Caption = "&MiMenú"

'Pimer elemento del menú
Set ElementoDeMenú = MenúNuevo.Controls.Add(Type:=msoControlButton)
ElementoDeMenú.Caption = "Lo que hace"
ElementoDeMenú.OnAction = "Macro que lo hace"
ElementoDeMenú.BeginGroup = True

Set MenúAyuda = Nothing
Set MenúNuevo = Nothing
Set ElementoDeMenú = Nothing
End Sub

2.- Poner lo siguiente en un módulo creado por ti:

Public Sub EliminarMenúMiMenú()
On Error Resume Next
CommandBars(1).Controls("MiMenú").Delete
On Error Goto 0
End Sub


Tendrías que sustituir "MiMenú" por el título del menú, "Lo que hace" por lo que quieres que aparezca en el elemento del menú, y "Macro que lo hace" por el nombre del sub que debe ejecutarse al seleccionar la opción.

Hay un artículo bastante completo en la KB de Microsoft sobre el tema (si bien está en ingles, me temo):

http://support.microsoft.com/defaul...duct=xlw#6

Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com


"Angel O" escribió en el mensaje news:%
Y que este accisible solo en el fichero en cuestión.

Gracias.

Àngel O.


"Angel O" escribió en el mensaje
news:
> No, esto lo que hace es agragar botones standars del excel, yo lo que
quiero
> es definit un menu directamente en la barra (no se como se llama),
Archivo,
> Edicion, ..., Ayuda, Aqui quiero mi menu. y al pinchar se me despliegue un
> "desplegable" con mis submenus.
>
>
Respuesta Responder a este mensaje
#5 Angel O
14/06/2005 - 18:01 | Informe spam
Ok, muchas gracias, justo lo que queria. ahora solo falta adaptarlo a mis
mecesidades.

Eres muy bueno Fernando.


"Fernando Arroyo" escribió en el mensaje
news:
Por ejemplo, para crear un menú llamado MiMenú, con tan sólo un elemento, y
que estuviera disponible tan sólo cuando se abriera el libro donde esté
situado el código, tendrías que:

1.- Poner el siguiente código en el módulo del libro (en ThisWorkbook):

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call EliminarMenúMiMenú
End Sub

Private Sub Workbook_Open()
Dim MenúAyuda As CommandBarControl
Dim MenúNuevo As CommandBarPopup
Dim ElementoDeMenú As CommandBarButton

'Eliminar el menú "MiMenú", si existe
Call EliminarMenúMiMenú

'Localizar el menú Ayuda
Set MenúAyuda = Application.CommandBars(1).FindControl(ID:0010)

If MenúAyuda Is Nothing Then
'Añadir el nuevo menú al final
Set MenúNuevo = CommandBars(1).Controls.Add(Type:=msoControlPopup,
temporary:=True)
Else
'Añadir el nuevo menú antes de Ayuda
Set MenúNuevo Application.CommandBars(1).Controls.Add(Type:=msoControlPopup,
before:=MenúAyuda.Index, temporary:=True)
End If

'Añadir un título
MenúNuevo.Caption = "&MiMenú"

'Pimer elemento del menú
Set ElementoDeMenú = MenúNuevo.Controls.Add(Type:=msoControlButton)
ElementoDeMenú.Caption = "Lo que hace"
ElementoDeMenú.OnAction = "Macro que lo hace"
ElementoDeMenú.BeginGroup = True

Set MenúAyuda = Nothing
Set MenúNuevo = Nothing
Set ElementoDeMenú = Nothing
End Sub

2.- Poner lo siguiente en un módulo creado por ti:

Public Sub EliminarMenúMiMenú()
On Error Resume Next
CommandBars(1).Controls("MiMenú").Delete
On Error Goto 0
End Sub


Tendrías que sustituir "MiMenú" por el título del menú, "Lo que hace" por lo
que quieres que aparezca en el elemento del menú, y "Macro que lo hace" por
el nombre del sub que debe ejecutarse al seleccionar la opción.

Hay un artículo bastante completo en la KB de Microsoft sobre el tema (si
bien está en ingles, me temo):

http://support.microsoft.com/defaul...duct=xlw#6

Un saludo.


Fernando Arroyo
MS MVP - Excel
www.excelesp.com


"Angel O" escribió en el mensaje
news:%
Y que este accisible solo en el fichero en cuestión.

Gracias.

Àngel O.


"Angel O" escribió en el mensaje
news:
> No, esto lo que hace es agragar botones standars del excel, yo lo que
quiero
> es definit un menu directamente en la barra (no se como se llama),
Archivo,
> Edicion, ..., Ayuda, Aqui quiero mi menu. y al pinchar se me despliegue


un
> "desplegable" con mis submenus.
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida