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

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

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

Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Febrero del 2018)
742 visualizaciones desde el 10 de Febrero del 2018
345,2 KB
12 paginas
Creado hace 9a (11/05/2014)
MANUAL RIBBON

CAPÍTULO 91

Índice de contenido
INTRO 9: ORGANIZANDO CON BOX, ALGO DE VBA Y CARGANDO RIBBONES................2
MANIPULANDO EL BOXSTYLE.....................................................................................................2
NECESITAREMOS.........................................................................................................................2
BOXSTYLE.....................................................................................................................................2
SEPARATOR...................................................................................................................................3
CARGANDO RIBBONES A TRAVÉS DE VBA................................................................................4
UTILIZANDO ELEMENTOS DEL RIBBON A TRAVÉS DE VBA.................................................5
CARGANDO RIBBONES...................................................................................................................6
CON LA TABLA USYSRIBBONS.................................................................................................6
CON CUALQUIER TABLA - DAO...............................................................................................6
FASE 1: CREO LA TABLA Y LA RELLENO...........................................................................6
FASE 2: UN NUEVO MÓDULO DE VBA...............................................................................7
FASE 3: CREO UNA MACRO..................................................................................................8
FASE 4: REINICIO LA BASE DE DATOS...............................................................................8
FASE 5: CONFIGURO LAS OPCIONES DE ACCESS...........................................................8
FASE 6: VUELVO A REINICIAR LA BASE DE DATOS........................................................9
CON CUALQUIER TABLA - ADO...............................................................................................9
FASE 1: CREO LA TABLA Y LA RELLENO...........................................................................9
FASE 2: UN NUEVO MÓDULO DE VBA...............................................................................9
FASE 3: CREO UNA MACRO................................................................................................10
FASE 4: REINICIO LA BASE DE DATOS.............................................................................10
FASE 5: CONFIGURO LAS OPCIONES DE ACCESS.........................................................10
FASE 6: VUELVO A REINICIAR LA BASE DE DATOS......................................................10
DESDE UN FICHERO EXTERNO XML....................................................................................10
FASES 1 A 6, EXCEPTUANDO LA FASE 2...........................................................................11
FASE 2......................................................................................................................................11
PARA FINALIZAR EL CAPÍTULO.................................................................................................12

1

La BD y archivos de ejemplo os los podéis bajar aquí

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

1

INTRO 9: ORGANIZANDO CON BOX,

ALGO DE VBA Y CARGANDO
RIBBONES

¿Qué lo prefiere: agrupado en hilera o agrupado en pila...?

Esta es la gran pregunta trascendental que intentaremos
contestar en este capítulo.

También veremos algunas cosillas que pueden hacerse con
VBA relacionadas con el ribbon.

Finalmente, podremos ver diferentes maneras que tenemos para cargar un ribbon en nuestra
aplicación (al menos una ya la conocemos, pero veremos unas cuantas más).

Veamos...

MANIPULANDO EL BOXSTYLE
No sé si recordaréis que en el capítulo 2 hablábamos de un elemento que denominamos Box.
En ese capítulo lo pasamos un poco por encima porque no era nuestro objetivo.

Pues retomemos aquí a nuestro amigo Box y veamos en qué nos puede servir.

NECESITAREMOS...
Simplemente vamos a necesitar, en nuestro Access, un formulario (sí, lo habéis adivinado:
FMenu), que se nos cargará al inicio de la aplicación.

BOXSTYLE
El Box es el identificador de la etiqueta, y para manipularlo utilizaremos el atributo boxStyle.

Tenemos cuatro maneras de trabajar con el boxStyle:

 La primera, no trabajar con él... je, je... Es decir, no indicar ningún tipo de organización a
través de box. En este caso Access irá colocando nuestros elementos de izquierda a derecha y
de arriba a abajo según el espacio de que se disponga en el group.

 La segunda, decirle que queremos los elementos “en hilera”. Para ello utilizaremos el valor
“Horizontal”.

 La tercera, decirle que queremos los elementos apilados. Para ello utilizaremos el valor
“Vertical”.

 La cuarta, que sería una combinación de las dos anteriores.

Vamos a crearnos un ribbon con dos grupos de botones de menú idénticos (que no
programaremos, dado que sólo nos interesa ver el efecto visual). El primero tendrá un
boxStyle “Horizontal” y el segundo “Vertical”.

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

2

Nuestro código XML nos quedaría así:

Y el resultado visible sería:

SEPARATOR
Ya hemos visto en capítulos anteriores el elemento menuSeparator y sus “efectos visuales”.
Con el elemento separator conseguimos un efecto similar, pero en lugar de conseguir una
separación horizontal obtenemos una separación vertical. Si lo combinamos además con el
elemento box podemos conseguir efectos muy interesantes. Vamos a aplicar un menú
separador con tres botones en el menú horizontal y con cuatro en el vertical para que podáis
ver a qué me refiero.

El código XML sería el anterior que habíamos escrito con ligeras modificaciones, es decir, con la
inclusión de algunos botones más y del separator:

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

3

Fijaos que tenemos que cerrar las etiquetas <box> antes de introducir el <separator>, y
volverlas a abrir a continuación.

Y lo que conseguiríamos sería:

CARGANDO RIBBONES A TRAVÉS DE VBA
Hemos visto que podemos asignar la cinta de opciones deseada a formularios e informes a
través de la manipulación de la propiedad “Nombre de la banda de opciones”. Para quien no se
sitúe ahí tenéis una ilustración:

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

4

Sin embargo podemos cargar el ribbon de otra manera: utilizando código VBA. Para ello, en el
formulario, vamos a dejar en blanco la anterior propiedad y en el evento “Al cargar” del
formulario lo único que tenemos que hacer es escribir este simple código:


Private Sub Form_Load()
Me.RibbonName = "miRibbon1"
End Sub


¿Para qué nos podría servir lo anterior? Pues lo primero que se me ocurre es que tengamos un
formulario que pueda servirnos o bien para añadir registros o bien para recorrerlos en sólo
lectura. Quizá en este caso nos interesaría, si se abre para añadir registros, cargarle un
ribbon; en caso contrario podríamos cargarle otro.

Dejo a vuestra imaginación otras hipotéticas aplicaciones de esta mecánica.

UTILIZANDO ELEMENTOS DEL RIBBON A TRAVÉS DE VBA
Desde mi punto de vista esto quizá sea un poco anecdótico, pero ya que existe...

Supongamos que queremos conseguir la misma acción pulsando un botón de comando como si
pulsáramos un comando del ribbon.

Es decir, por ejemplo, sabemos que si nos vamos a la pestaña Crear tenemos ahí el grupo
<Tablas> con el botón “Crear tabla”.

Y también ya sabemos que ese botón recibe el nombre de “CreateTable”.

Pues si en un botón de comando escribimos este código en su evento “Al hacer clic” lo que
haremos es “como si” hiciéramos clic sobre aquel botón del ribbon:


Private Sub cmdCrearTabla_Click()
Application.CommandBars.ExecuteMso ("CreateTable")
End Sub


Como veis el truco únicamente consiste en saber qué nombre tiene el control que queremos
emular.

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

5

CARGANDO RIBBONES

CON LA TABLA USYSRIBBONS
Durante todos los capítulos anteriores hemos visto cómo
cargábamos el ribbon utilizando la tabla USysRibbons.
Podríamos decir que no hace falta explicar el primer sistema
porque ya lo conocemos, así que... el primer trabajo ya lo
tenemos hecho... je, je...

Sin embargo podemos cargar el ribbon de otras maneras.
Vamos a ver algunas.

CON CUALQUIER TABLA - DAO
FASE 1: CREO LA TABLA Y LA RELLENO
La tabla que vayamos a utilizar debe tener unos elementos mínimos, como es el nombre del
ribbon y su código XLM. Por ejemplo, vamos a crearnos una tabla que llamaremos TRibbon con
la siguiente estructura:

Debemos tener en cuenta que el nombre del ribbon (el campo [nomRibbon]) no puede
repetirse. Es decir, no podemos tener dos o más registros con el mismo nombre de ribbon.

Vamos a reutilizar el primer código que hemos visto en este capítulo. Así, un registro nos
quedaría así:

Por si alguien se ha perdido un poco repito el valor que he escrito en el campo [XmlRibbon]:

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

6

FASE 2: UN NUEVO MÓDULO DE VBA
Sigamos con el proceso. Vamos a crearnos un módulo estándar en el VBE y lo guardaremos
con el nombre de mdlCargoRibbon. Ahora debemos escribir en él una función. Quizá alguien, al
ver la función, pueda pensar: ¿Por qué escribe una función si realmente lo que está
programando es un procedimiento (un Sub, vamos...)? Pues lo escribimos así porque, como
vamos a hacer una llamada a ese procedimiento a través de una macro-objeto, sólo podemos
utilizar funciones (supongo que eso ya lo sabíais y, si no, ahora ya lo sabéis ).

Bueno, pues aquí tenéis la función (creo que con los comentarios que he puesto no hace falta
explicar mucho más):


Public Function cargoRibbon()
'Creamos un control de errores
On Error GoTo sol
  • Links de descarga
http://lwp-l.com/pdf8717

Comentarios de: Manual de Ribbon - Capítulo 9 (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