PDF de programación - Manual de Ribbon - Capítulo 11

Imágen de pdf Manual de Ribbon - Capítulo 11

Manual de Ribbon - Capítulo 11gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 2 de Febrero del 2018)
773 visualizaciones desde el 2 de Febrero del 2018
299,2 KB
13 paginas
Creado hace 9a (07/06/2014)
MANUAL RIBBON

CAPÍTULO 111

Índice de contenido
INTRO 11: UN POCO SOBRE LAS COMMANDBARS..................................................................2
UNA BREVÍSIMA SEGUNDA INTRODUCCIÓN............................................................................2
OPERATIVA EN ABSTRACTO..........................................................................................................2
OPERATIVA MÁS ESPECÍFICA, PERO AÚN EN ABSTRACTO..............................................3
ELEMENTOS QUE VAMOS A NECESITAR....................................................................................3
CREANDO POCO A POCO NUESTRA COMMANDBAR..............................................................4
BOTÓN DE COMANDO................................................................................................................4
DROPDOWN..................................................................................................................................5
COMBOBOX..................................................................................................................................7
MENÚ EMERGENTE..................................................................................................................10
LO QUE FALTA PARA QUE “EL INVENTO FUNCIONE”...........................................................12
SI QUEREMOS QUE NUESTRA COMMANDBAR SE CARGUE AL INICIO.......................12
SI QUEREMOS QUE NUESTRA COMMANDBAR SE CARGUE CON UN BOTÓN............12
PARA FINALIZAR ESTE CAPÍTULO.............................................................................................12

1

La BD de ejemplo os la podéis bajar aquí

Visítame en http://neckkito.siliconproject.com.ar

1

INTRO 11: UN POCO SOBRE LAS

COMMANDBARS
Aunque alguien pueda pensar: ¿y qué tiene esto que ver
con el ribbon? me he decidido a escribir este capítulo
porque le veo cierta similitud al tema. El ribbon nos permite
construirnos un conjunto de menús con opciones varias
para realizar acciones que queremos; las commandbars nos
permiten hacer algo similar, (con sus más y sus menos)
sólo que a través de código VBA.

Y dado que, como comentábamos en el capítulo anterior, hemos aprendido algo de las
commandbars para poder construir nuestros menús contextuales, me he dicho a mí mismo:
¿por qué no explicar también la construcción de un complemento (ya veréis más adelante
porque digo esto)?

Así que, camina caminarás, aquí tenéis un par de pinceladas de cómo manejar las
commandbars.

UNA BREVÍSIMA SEGUNDA INTRODUCCIÓN
Debido a esa “cierta similitud” que comentábamos en la Intro con las commandbars podemos
construirnos diferentes elementos: botones, cuadros combinados, menús emergentes...

No voy a entrar “hasta en el último detalle” en este capítulo. Simplemente, lo que intentaré es
explicaros algunas cosas básicas de cómo construirnos estos diferentes elementos para que
“se os abra el apetito”. Si consideráis que pueden ser útiles para vosotros al menos ya tendréis
una base para poder buscar información en otras fuentes y que, como mínimo (espero), podáis
entender “mejor” las diferentes explicaciones o ejemplos que encontréis “por el mundo de
Matrix” 

OPERATIVA EN ABSTRACTO
La operativa, genérica y en abstracto, sería la siguiente:

• Creamos un módulo estándar donde programamos nuestras commandbars.





Creamos una macro “Autoexec” que nos cargue las commandbars que hemos definido
en ese módulo que os comentaba.

Al abrir Access nos aparecerá un nuevo “menú”, llamado “COMPLEMENTOS”, donde
encontraremos los comandos que hayamos definido en las commandbars.

Como veis, algo muy sencillo... je, je...

Como nota a lo anterior comentaros que no debemos confundir la mecánica del ribbon con XML
con la mecánica de las commandbars con VBA. ¿Qué significa esto? Pues que, como sabréis (si
habéis seguido el curso entero hasta aquí), con el ribbon necesitábamos reiniciar la aplicación
cada vez que modificábamos el código XML. Con las commandbars eso no es necesario.

Por ejemplo, yo os he expuesto que utilizaríamos una macro “Autoexec” para cargar nuestras
commandbars, dado que lo “lógico” (o no) es que nuestra barra de comandos esté disponible
para el usuario (que no tiene ni idea sobre Access) desde el momento en que se inicia la

Visítame en http://neckkito.siliconproject.com.ar

2

aplicación.

Ahora bien, ¿y si queremos que la commandbar no
aparezca al inicio, sino cuando el usuario pulse un botón?
Pues ningún problema: no crearíamos ninguna macro
“Autoexec” y simplemente, en el código de ese botón,
indicaríamos que, al pulsarse, se cargara nuestra
commandbar (así como también podríamos hacer que
“desapareciese”). Esto lo veremos con un ejemplo un poco
más adelante.

En definitiva, que no quisiera que os quedarais con la idea de que
“hay que cargarlas al principio”. Podemos cargar las commandbars
cuando nosotros queramos.

OPERATIVA MÁS ESPECÍFICA, PERO AÚN EN ABSTRACTO
Visto lo anterior, y ya centrados en nuestro módulo estándar, la operativa sería la siguiente
(todo lo que sigue a través de código VBA, claro):







Creamos, primero, la commandbar

Creamos, a continuación, uno o varios objetos que representarán los diferentes tipos de
controles que queremos que tenga nuestra commandbar

Añadimos, a cada objeto creado en el punto anterior, los diferentes comandos que
necesitemos y sus características, respetando lógicamente la tipología que hemos
asignado al objeto.

De nuevo quizá lo anterior os pueda sonar, en principio, a chino mandarín, pero no os
preocupéis porque a medida que vayamos avanzando en la explicación lo vais a ir asimilando
perfectamente (o al menos intentaré que sea así, claro).

ELEMENTOS QUE VAMOS A NECESITAR
Para no ser tan repetitivo vamos a crearnos una tabla que llamaremos TSocios, que tendrá la
siguiente estructura:

Nos crearemos un formulario sobre esa tabla que llamaremos FSocios.

Posteriormente vamos a crearnos un módulo estándar, que llamaremos mdlCommandBars.

 Recordad que debemos tener registrada la referencia “Microsoft Office x.y Object Library”

Finalmente yo utilizaré un formulario para “manejar la aplicación” que he llamado FMenu.

Visítame en http://neckkito.siliconproject.com.ar

3

CREANDO POCO A POCO NUESTRA

COMMANDBAR
Vamos a ir creando poco a poco nuestra commandbar.
Empezaremos por la introducción de un botón de comando
y la iremos ampliando.

Ello significa que cada vez nuestra función irá creciendo “un
poquito” en cada uno de los subepígrafes que veremos a
continuación.

BOTÓN DE COMANDO
Vamos a crearnos un módulo estándar que llamaremos mdlCommandBars. Para empezar
veamos el código que vamos a necesitar, y que escribiremos en dicho módulo:


Public Function miBarraDeComandos()
'Declaramos las variables
'Primero, un objeto commandbar
Dim laCommandBar As CommandBar
'Segundo, un objeto botón de commandbar
Dim miComBarBoton As CommandBarButton
'Recorremos la colección de commandbars de la aplicación
'hasta encontrar la nuestra.
'Cuando la encontramos la eliminamos
'Esto es por si ya estuviera cargada. La cargaremos más adelante.
For Each laCommandBar In Application.CommandBars
If laCommandBar.Name = "Controles Neckkito" Then
laCommandBar.Delete
End If
Next laCommandBar
'Ahora sí, creamos nuestra commandbar
Set laCommandBar = Application.CommandBars.Add("Controles Neckkito")
'En los controles de nuestra commandbar...
With laCommandBar.Controls
'Creamos y añadimos nuestro botón
Set miComBarBoton = .Add(msoControlButton)
'Configuramos sus propiedades
With miComBarBoton
.Caption = "Cerrar formulario"
.FaceId = 11268
.Style = msoButtonIconAndCaption
.TooltipText = "Con esto cerramos el formulario activo"
.OnAction = "subCierraForm"
End With
End With
'Hacemos visible la commandbar
laCommandBar.Visible = True
End Function


Como vemos, la estructura es la que os indicaba en un epígrafe anterior (estructura en
abstracto). Ahora vemos esa estructura aplicada a un código.

Si os fijáis lo que hacemos es, con un bloque With... End With, configurar “de una tacada” las
propiedades de nuestro botón. En esas propiedades podéis ver que encontramos la propiedad
OnAction, y que a dicha propiedad le he asignado el nombre de un procedimiento.

También fijaos que NO he programado esta barra de comandos como elemento temporal. Eso
significa que una vez se cargue ya se “queda fija” en nuestra base de datos.

Visítame en http://neckkito.siliconproject.com.ar

4

¿Qué pasaría si queremos que “desaparezca”? Pues,
evidentemente, lo primero que deberíamos hacer es
eliminar su carga en la macro Autoexec, y, después,
definirla como temporal (y ejecutar al menos una vez el
código para que Access “lea” que la barra es sólo temporal).
Para ello deberíamos modificar la línea de código:

Set laCommandBar = Application.CommandBars.Add("Controles
Neckkito")

por

Set laCommandBar = Application.CommandBars.Add("Controles
Neckkito", , , True)

Pues bien, sólo nos quedaría programar lo que pasaría al pulsar el botón. Y este es el
procedimiento que he escrito a continuación de la anterior función:


Public Sub subCierraForm()
Dim nombreForm As String
nombreForm = Screen.ActiveForm.Name
If nombreForm = "FMenu" Then
'No hago nada
Else
'Cierro el form activo
DoCmd.Close acForm, nombreForm
End If
End Sub


El resultado “visible” de lo anterior sería
  • Links de descarga
http://lwp-l.com/pdf8559

Comentarios de: Manual de Ribbon - Capítulo 11 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad