fajdklfjaj

Páginas: 2 (384 palabras) Publicado: 25 de abril de 2014
Lanzar menú contextual al presionar un botón en Excel vba
Published on 23 December, 2012 by Sergio Alejandro Campos in Excel, Excel vba, Forms, Formularios
Siguiendo con el tema de los menús enExcel, en esta ocasión comparto un archivo donde tenemos un formulario el cual contiene un botón, que al presionar, nos muestra un menú contextual en el cual podremos llamar funciones o procedimientosalmacenados.
Para construir el menú contextual, nos basaremos en el post Crear menús en Excel 2003 y Ribbon en Excel 2007 y 2010.
Descripción del formulario
Nuestro formulario tiene 3 botones: Crearmenú, Lanzar menú y Borrar menú. Estos botones llaman a 3 procedimiento que igual pueden ejecutarle al iniciar el archivo y salir, es decir. al iniciar el archivo podemos llamar a que se construya elmenú y al salir a que se destruya.
Al presionar Lanzar formulario ejecuta el prodecimiento que realiza un método ShowPopup para mostrar el menú creado, si es que existe.
Formulario en acción

Elsiguiénte código vba contruye una barra de comando tipo popup. El método OnAction manda llamar un procedimiento y el método Faceid contiene una icono el cual podremos consultar en la siguienteliga http://www.outlookexchange.com/articles/toddwalker/BuiltInOLKIcons.asp.
Código vba
Private Sub CommandButton1_Click()
On Error GoTo ErrorHandler
Application.CommandBars("MenuPrueba").ShowPopup
ExitSub
ErrorHandler:
If Err.Number = 5 Then
MsgBox "El menú no está contruido. Presione Crear menú", vbExclamation, "EXCELeINFO"
Else
MsgBox "Ha ocurrido un error: " & Err.Description,vbExclamation, "EXCELeINFO"
End If
End Sub
'
Sub CrearMenu()
Set myBar = CommandBars.Add _
(Name:="MenuPrueba", Position:=msoBarPopup, _
Temporary:=True)
'Agregar un nuevoitem
Set myItem = myBar.Controls.Add(Type:=msoControlButton)
With myItem
.Caption = "Item de menú 1"
.OnAction = "Test"
.FaceId = 80
End With
'Agregar un nuevo item
Set myItem =...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS