Documente Academic
Documente Profesional
Documente Cultură
CAPTULO 11
ndice de contenido
INTRODUCCIN................................................................................................................................2
FASES DE CONSTRUCCIN DEL RIBBON...................................................................................2
XML.....................................................................................................................................................3
CONCEPTOS GENERALES..........................................................................................................3
CONCEPTOS ESPECFICOS........................................................................................................5
NUESTRAS PRIMERAS LNEAS DEL RIBBON........................................................................5
QU SOFTWARE NECESITO?........................................................................................................7
SOFTWARE SPER-LIGHT..........................................................................................................7
SOFTWARE LIGHT.......................................................................................................................8
SOFTWARE HEAVY......................................................................................................................8
CMO CONFIGURAR ACCESS?....................................................................................................8
DEFINICIN DE LA CINTA DE OPCIONES...............................................................................8
ASIGNACIN PARA TODA LA APLICACIN......................................................................9
ASIGNACIN A UN FORMULARIO......................................................................................9
ASIGNACIN A UN INFORME.............................................................................................10
ES IMPORTANTE RECORDAR QUE....................................................................................10
CREACIN DE LA TABLA QUE CONTENDR NUESTRO CDIGO..................................10
UN PEQUEO TRUCO PARA FACILITARNOS LA VIDA...................................................11
NUESTRO PRIMER CDIGO XML...............................................................................................13
UNAS RECOMENDACIONES FINALES.......................................................................................14
PARA FINALIZAR ESTE CAPTULO.............................................................................................14
Vistame en http://neckkito.siliconproject.com.ar
INTRODUCCIN
Trabajar con el ribbon, desde mi punto de vista, es un
autntico latazo. Y dicho esto pienso: Vaya una manera
de empezar un manual, verdad?
Pues creo que es un comentario afortunado (o no) por si
alguien piensa que basta con escribir un par de lneas de
cdigo y... ribbon en marcha sin problemas.
Para que el ribbon funcione hay que configurar Access, escribir
correctamente el cdigo XML (porque si no no se nos cargar el
ribbon), asignar cdigo VBA o macros (macros-objeto) a cada uno
de los botones... Tranquilos, que esto lo he dicho a lo rpido;
lgicamente lo ir explicando poco a poco a lo largo de este
manual.
Sin embargo, tambin hay que decir que si lo hacemos bien una aplicacin con nuestro ribbon
(uno o varios) bien configurado, con imgenes personalizadas y diferentes tipos de botones,
pues deviene en una aplicacin muy resultona. Eso s: hay que trabajrselo bastante
(hablando de ribbones ms o menos complejos, quiero decir).
Por si alguien se ha despistado, y antes de que siga con la lectura de este manual, el ribbon
aparece a partir de la versin 2007 de Access. Con ello quiero decir que si trabajamos con
Access 2003 este manual no nos servir para nuestra aplicacin, dado que Access 2003
funciona por mens y no por ribbon.
He de decir que he buscado informacin sobre el ribbon en diferentes fuentes (libros e
Internet, bsicamente), y que he encontrado algunas cosas muy curiosas con el ribbon. Toda
esta informacin la he mezclado con lo que yo ya saba del ribbon y... voil: he aqu este
manual.
Con lo anterior quiero decir que es posible (ms que posible), a pesar de que intentar hacer
el manual lo ms extenso, claro y sencillo posible, que os encontris por ah alguna otra
manera de configurar o programar el ribbon. Pues ante eso slo puedo decir... en la variedad
est el gusto . A lo anterior debo aadir que, a pesar de que considero que quien siga todos
los captulos del manual va a poder construirse una cinta de opciones muy completa, que no
voy a poder abarcar todas las particularidades de todos los elementos del ribbon (porque
incluso habr algunas que yo desconozca). En este caso os animo a buscar informacin
concreta sobre algn comando, atributo o accin: con toda probabilidad encontraris cosas que
no estn en manual.
Y dicho lo anterior entremos en materia.
Vistame en http://neckkito.siliconproject.com.ar
XML
El lenguaje utilizado para programar el ribbon es XML (eXtensible Markup Language). Aunque
slo vamos a utilizar el XML para programar nuestro ribbon y no vamos a utilizar todo su
potencial, considero que es interesante que, al menos, tengamos unos conocimientos bsicos
de qu va este lenguaje.
Voy a utilizar, para explicarlo brevemente, conceptos extrados de este enlace, por si alguien
quiere profundizar un poco ms en el tema.
CONCEPTOS GENERALES
XML es un lenguaje estructurado de marcas extensible desarrollado por el World Wide Web
Consortium (W3C) y utilizado para almacenar datos de forma legible.
Veamos, de esta definicin, lo que nos interesa:
Es un lenguaje de marcas: esto significa que, valga la redundancia, se utilizan marcas para
determinar sus elementos. Ahora bien, podramos aadir que es un lenguaje estricto de
marcas. Que sea estricto significa que las marcas deben siempre abrirse y cerrarse, y que no
puede haber marcas abiertas sin un cierre.
Y qu significa que sea estructurado? Pues que tiene una estructura rgida que debe ser
respetada y que implica la idea de cajas chinas o muecas rusas.
Veamos un ejemplo: supongamos que yo defino una marca para el elemento Libro. Pues para
definirla tendra que escribir lo siguiente:
<libro>
Si queremos definir otra marca como Titulo escribira:
Vistame en http://neckkito.siliconproject.com.ar
<titulo>
Ya sabemos cmo definir una marca. Vamos a ver cmo
cerrarla.
Si queremos cerrar una marca debemos escribir el nombre
de la marca que queremos cerrar precedido de una barra
inclinada. As, para cerrar <libro> o <titulo> escribiramos:
</libro>
</titulo>
Tened en cuenta que XML es Case Sensitive; es decir, que distingue entre maysculas y
minsculas. Eso significa que <titulo> no es lo mismo que <Titulo>. Ojo con esta
caracterstica!
Ya sabemos abrir y cerrar marcas. Vamos a aadirle esto de estructura que hemos
comentado:
Primero, en formato terico: para ir cerrando marcas de un xml debemos ir cerrndolas en
orden inverso al de su apertura. Por ejemplo:
Si abrimos marcas as, entendiendo que cada inferior va dentro de el superior:
1.- A
2.- A1
3.- B
4.- B1
5.- B2
Debemos cerrarlas as:
5.- Cierro B2
4.- Cierro B1
3.- Cierro B
2.- Cierro A1
1.- Cierro A
Segundo, en formato prctico:
<libro>
<titulo>
<edicion>
</edicion>
</titulo>
</libro>
Vayamos a depurar un poco ms el cdigo anterior. Vamos a aadirle informacin. En este caso
aadiremos informacin entre apertura y cierre de las marcas.
<libro>
<titulo>
<nombreTitulo>Manual del Ribbon</nombreTitulo>
</titulo>
<edicion>
<anoEdicion>2014</anoEdicion>
<anoEdicion>2015</anoEdicion>
Vistame en http://neckkito.siliconproject.com.ar
</edicion>
</libro>
Si seguimos con nuestra definicin, decimos que es
extensible porque permite fcilmente la adicin de datos.
Supongamos que para nuestro manual, en el ao 2016 se
realiza otra edicin. Cmo lo podramos indicar? Pues
simplemente
cogiendo
nuestro
cdigo
original
y
aadindole una marca nueva, as:
<libro>
<titulo>
<nombreTitulo>Manual del Ribbon</nombreTitulo>
</titulo>
<edicion>
<anoEdicion>2014</anoEdicion>
<anoEdicion>2015</anoEdicion>
<anoEdicion>2016</anoEdicion>
</edicion>
</libro>
CONCEPTOS ESPECFICOS
Pasemos a otro concepto: nuestras marcas pueden tener atributos. Los atributos se especifican
dentro de la propia marca, a continuacin de la misma, y dentro de los delimitadores <>.
Por ejemplo, y ya introducindonos ligeramente en materia, supongamos que queremos crear
un botn en nuestro ribbon. Vamos a necesitar, para este ejemplo, tres atributos: un
identificador del botn, un ttulo y la accin que se va a realizar. Lo definiramos as:
<button id=miBotonId label=miBoton onAction=miAccion/>
Fijmonos en un par de detalles:
- Los nombres de los atributos se escriben sin separacin de ningn tipo, y, en nuestro caso,
son nombres estndar: id / label / onAction
- El valor de los atributos debemos enmarcarlo entre comillas dobles
- Ah vemos una nueva manera de cerrar la marca (siempre y cuando est dentro de la misma
lnea). Vemos pues que tambin podemos cerrarla con <... />
Vistame en http://neckkito.siliconproject.com.ar
</customUI>
Esta primera lnea es la definicin de lo que se denomina
namespace (es propia de los cdigos xml, no slo del
ribbon).
Digo que suele ser la primera porque si queremos crear
un ribbon exclusivo para Access 2010, que no sea
interpretable por Access 2007, deberamos escribir:
<customUI
xmlns=http://schemas.microsoft.com/office/2009/07/customui>
El botn de Office altera sus opciones, dejndonos slo las siguientes (Access 2007;
Access 2010 tambin se modifica, pero hay que tener en cuenta que ya no utiliza el
botn de Office sino que utiliza un sistema que se denomina Backstage View2):
Vistame en http://neckkito.siliconproject.com.ar
[En
lnea.
Nuestro ribbon aparece tras los ribbones predefinidos de Access y antes de los ribbones
de Add-ins.
Todas las opciones del botn de Office quedan activadas (slo Access 2007, dado que
Access 2010 ya no utiliza este botn).
Y por ahora no entraremos en ms detalles. Estas dos lneas que acabamos de explicar son
vitales y nos aparecern en todos los cdigos XML que vayamos a programar para nuestros
ribbones.
QU SOFTWARE NECESITO?
Lgicamente, el primer software que se necesita es tener Access... je, je...
Despus necesitamos un software para poder escribir cdigo XML. Os dejo un par de ideas:
SOFTWARE SPER-LIGHT
Si estamos convencidos de nuestras capacidades podemos utilizar cualquier software que
permita escribir texto. Es decir, que el primero de los sper-light sera el bloc de notas.
Evidentemente yo no lo recomiendo, pero est bien saber que escribir XML puede ser tan
sencillo como crear un notepad.
El que s recomiendo, siempre que seamos valientes, es un programa portable (lo mejor:
gratuito y que no requiere instalacin) que se denomina <Notepad++ Portable>. Lo podis
encontrar en este enlace, dentro de la seccin Development.
Digo esto de que seamos valientes porque, si bien con el Notepad++ podemos definir el
7
Vistame en http://neckkito.siliconproject.com.ar
SOFTWARE LIGHT
Si queremos aumentar nuestra seguridad al escribir XML podemos utilizar un programa que
Microsoft pone a nuestra disposicin, y que se denomina <Office Custom UI Editor>. Lo podis
descargar de esta pgina.
Tened en cuenta, a efectos informativos, que es un ejecutable y que instalar el programa en
nuestro ordenador.
Cmo podemos utilizarlo? Si os fijis, al abrirlo, se nos abre una ventana en blanco. En esa
ventana es donde podemos escribir el cdigo. Tenemos tambin un botn que nos verifica si el
cdigo que hemos escrito es correcto.
Yo no lo utilizo, por lo que no puedo dar ms pistas sobre el tema. Lo menciono porque en
varias pginas de las que he ido visitando suele aparecer con cierta asiduidad.
SOFTWARE HEAVY
A partir de lo anterior podemos irnos a programas ya ms profesionales de XML. La
contraprestacin es que suelen ser de pago
El programa que a veces yo he utilizado y que va bastante bien es XMLSpy, de Altova. Pero
bueno... una bsqueda por Google probablemente nos devuelva un buen nmero de
aplicaciones para este fin.
Vistame en http://neckkito.siliconproject.com.ar
ASIGNACIN A UN FORMULARIO
Para asignar el ribbon a un formulario lo que debemos hacer es:
Ahora, cuando abramos nuestro formulario, nos aparecer la cinta asociada a ese formulario.
Lgicamente, cuando cerremos el formulario nos desaparecer mi tab form.
Vistame en http://neckkito.siliconproject.com.ar
ASIGNACIN A UN INFORME
El proceso es prcticamente igual al del formulario:
Sirve lo mismo que lo comentado para el formulario: si el startFromScratch est definido como
false veremos las dos cintas; si est definido como true slo veremos la cinta del informe.
10
Vistame en http://neckkito.siliconproject.com.ar
Hecho esto nos aparecern las tablas de sistema. El proceso para ocultarlas es el mismo, slo
que desmarcando la opcin Mostrar objetos del sistema
Las tablas de sistema propias de Access tienen el prefijo en su nombre MSys. Para las tablas
de sistema de usuario debemos aadirles el prefijo USys.
Teniendo claro lo anterior vamos a crearnos una tabla que llamaremos USysRibbons. La
estructura de esta tabla ser muy simple, sin clave principal, como la que os muestro en la
siguiente ilustracin:
11
Vistame en http://neckkito.siliconproject.com.ar
Para fijar el atributo de un objeto de Access como oculto basta hacer clic derecho sobre el
objeto en cuestin y en el men emergente seleccionar la opcin Propiedades de vista. En la
ventana que nos aparece marcamos el check de oculto.
12
Vistame en http://neckkito.siliconproject.com.ar
Veris que los objetos que tienen este atributo de oculto marcado aparecen como atenuados
en el panel de exploracin.
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="miTab" label="mi tab">
<group id="miGrupo" label="mi grupo">
<button id="miBoton" label="mi botn"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="miTabForm" label="mi tab form">
<group id="miGrupoForm" label="mi grupo form">
<button id="miBotonForm" label="mi botn form"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
13
Vistame en http://neckkito.siliconproject.com.ar
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="miTabReport" label="mi tab report">
<group id="miGrupoReport" label="mi grupo report">
<button id="miBotonReport" label="mi botn report"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Vistame en http://neckkito.siliconproject.com.ar
15
Vistame en http://neckkito.siliconproject.com.ar