Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CAPTULO 21
ndice de contenido
INTRO 2: MENUS SIMPLES.............................................................................................................2
ELEMENTOS DE TRABAJO.............................................................................................................2
LOS ELEMENTOS DE NUESTRA CINTA DE OPCIONES.............................................................3
TAB = PESTAA............................................................................................................................3
GROUP = GRUPO DE LA CINTA DE OPCIONES......................................................................3
BOX = CAJA...................................................................................................................................3
MENU = MENU..............................................................................................................................4
BUTTON = BOTN.......................................................................................................................4
MENUSEPARATOR = SEPARADOR DE MEN........................................................................4
PARA CONSEGUIR EL EFECTO DE SUBMEN...........................................................................5
ATRIBUTOS........................................................................................................................................5
ID.....................................................................................................................................................5
LABEL.............................................................................................................................................5
ONACTION.....................................................................................................................................5
BOXSTYLE.....................................................................................................................................5
NUESTRO CONJUNTO DE MENS................................................................................................5
NUESTRO CDIGO XML.................................................................................................................6
PROGRAMANDO NUESTRO MDULO DE VBA.........................................................................8
ULTIMANDO DETALLES.................................................................................................................9
NUESTRO EJEMPLO, PERO CON MACROS..................................................................................9
PROGRAMAR NUESTRA MACRO...........................................................................................10
PROGRAMANDO NUESTRO CDIGO XML..........................................................................12
PARA FINALIZAR EL EJEMPLO....................................................................................................12
Vistame en http://neckkito.siliconproject.com.ar
ELEMENTOS DE TRABAJO
Para poder desarrollar el ejemplo vamos a necesitar:
Tanto los formularios como el informe son objetos en blanco. Para hacer la consulta (dado
que no tenemos tablas), podemos crearnos una consulta con la siguiente estructura:
Vistame en http://neckkito.siliconproject.com.ar
TAB = PESTAA
El primer elemento que vamos a tener que definir es la pestaa, que en el cdigo XML est
identificada por la marca <tab>. Sera el elemento que vemos en la ilustracin:
BOX = CAJA
El tercer elemento que definiremos es la caja, es decir, qu tipo de layout vamos a utilizar en
nuestra cinta de opciones.
Los valores que admite el elemento box son dos: horizontal y vertical.
Para utilizar otras palabras, lo que viene a indicar la marca <box> es si los controles hijos
van a estar alineados horizontal o verticalmente.
3
Vistame en http://neckkito.siliconproject.com.ar
Por ahora no entraremos en ms detalle porque nos faltan algunos elementos que conocer
todava.
MENU = MENU
Dado que vamos, en este ejemplo, a construirnos una cinta
de opciones a base de men tenemos que identificar los
mens.
Os adelanto, en la siguiente ilustracin, el ribbon que
construiremos en este ejemplo, marcndoos el elemento que
hemos llamado men:
BUTTON = BOTN
Lgicamente, el siguiente elemento que definiremos sern los botones. Ahora bien, como en
este ejemplo hemos dicho que bamos a desarrollar una cinta tipo mens lo botones no sern
tales en el sentido en que imaginamos un botn, sino que darn la impresin de ser un
elemento ms de men.
En la ilustracin podis ver que, dentro del men consultas, est el botn que nos abrir la
consulta, aunque a efectos visuales parezca otro men:
Vistame en http://neckkito.siliconproject.com.ar
Fcil, verdad?
ATRIBUTOS
Los atributos que vamos a manejar en este ejemplo, algunos de los cuales ya deberan
sonarnos, son:
ID
Identificador del elemento que estemos manipulando
LABEL
Nombre que veremos en la cinta de opciones.
ONACTION
Para indicar el nombre del procedimiento (en ingls, hablando de ribbons, se hace referencia al
mismo con el nombre de Callback).
BOXSTYLE
Atributo de nuestro elemento box, para decirle si la alineacin de los controles hijos debe ser
horizontal o vertical.
Vistame en http://neckkito.siliconproject.com.ar
Si os fijis, la ltima es como si dijramos: voy a definir todas las pestaas de mi ribbon.
Sigamos. Las siguientes lneas son las que utilizamos para configurar los principales elementos
de nuestra cinta: la pestaa, el grupo, e informamos del estilo de nuestras cajas:
<!-- Identificamos nuestra pestaa -->
<tab id="misMenusId" label="Menu Neckkito">
<!-- Identificamos el grupo -->
<group id="miGrupoId" label="Operaciones sobre objetos">
<!-- Creamos el estilo de la caja de nuestros menus -->
<box id="miCajaId" boxStyle="horizontal">
Perfecto. Creemos nuestro primer men. En este men insertaremos un menuSeparator para
verlo en plena accin:
<!-- Creamos nuestro primer men -->
<menu id="menuFormsId" label="Formularios">
<!-- Creamos las opciones del men -->
<button id="abreFMenuId" label="Abrir FMenu" onAction="rbAbreFMenu"/>
<!-- Insertamos un separador entre esta opcin y la siguiente -->
<menuSeparator id="miSeparador1"/>
<!-- Insertamos nuestra segunda opcin de men -->
<button id="abreFDatosId" label="Abrir FDatos" onAction="rbAbreFDatos"/>
</menu>
Vistame en http://neckkito.siliconproject.com.ar
Con la estructura de este bloque clara ya podramos ir creando todos los mens que
necesitemos. No nos lo creemos? Pues como una imagen vale ms que mil palabras veamos
cmo construimos nuestro men para manipular la consulta:
Fcil, verdad?
Vamos a variar ligeramente la estructura anterior para poder crear un men con un submen
para manipular los informes. El cdigo sera:
<!-- Creamos nuestro tercer menu -->
<menu id="menuReportsId" label="Informes">
<!-- Creamos el submen -->
<menu id="subMenuInformesId" label="Abrir RDatos">
<!-- Establecemos las dos opciones del submen -->
<button id="subMenuInformes1Id" label="Vista informe" onAction="rbAbreRDatosReport"/>
<button id="subMenuInformes2Id" label="Vista preliminar" onAction="rbAbreRDatosPreview"/>
</menu>
<!-- Creamos una tercera opcin en el men principal de informes -->
<button id="imprimeRDatosId" label="Imprimir RDatos" onAction="rbImprimeRDatos"/>
</menu>
Bueno... Ya tenemos casi todo el trabajo hecho. Ahora slo queda eso de recoger
herramientas y partir... je, je...
Si recordamos lo dicho en el captulo 1, debemos ir cerrando nuestras marcas en orden inverso
a como las hemos ido abriendo; dicho a lo bruto, que es como si leyramos el cdigo desde
la mitad y de abajo a arriba y, segn lo que nos encontremos, lo vamos cerrando. Y si
hacemos eso deberamos cerrar nuestro cdigo de la siguiente manera:
</box>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Y listo.
Por si alguno de vosotros se ha perdido en algn punto podis ver todo el cdigo (sin
comentarios) en la siguiente ilustracin:
Vistame en http://neckkito.siliconproject.com.ar
2
3
Para insertar un mdulo estndar podemos abrir el editor de VB (ALT+F11) y nos vamos a Men Insertar Mdulo
Para registrar una referencia debemos irnos, en el editor de VB, a Men Herramientas Referencias... Se nos abrir una
ventana mostrndonos todas las referencias disponibles. Buscamos la que nos interese, marcamos su check y aceptamos.
Vistame en http://neckkito.siliconproject.com.ar
Y esto debemos hacerlo sucesivamente con todas las acciones de los botones. Para nuestro
ejemplo los cdigos seran los siguientes:
ULTIMANDO DETALLES
Aunque ya lo coment en el Captulo 1 de este manual, recordad que una vez tengamos el
cdigo XML programado debemos:
M Recordad que si modificamos, en Access, el cdigo XML es necesario reiniciar Access para
que este pille los cambios
M Recordad que cualquier error de escritura en el cdigo XML har que, precisamente, Access
no haga nada. Si es as revisad el cdigo. Por si os sirve de ayuda lo que a veces hago yo, si
no puedo encontrar el error, es el siguiente proceso:
Empezar por un cdigo pequeo (por ejemplo, slo el cdigo para nuestro men de
formularios) Funciona Aado el cdigo del men de consultas No funciona (=te
pill!) / S funciona Aado el cdigo para los informes.
Creo que ms o menos puede pillarse la idea de este sistema de depuracin casero J
Vistame en http://neckkito.siliconproject.com.ar
Vistame en http://neckkito.siliconproject.com.ar
11
Vistame en http://neckkito.siliconproject.com.ar
como
escribir:
As, os indico aqu slo las lneas de cdigo que hay que
modificar para ello:
<button id="abreFMenuId" label="Abrir FMenu" onAction="mcrRibbon.abrirFMenu"/>
<button id="abreFDatosId" label="Abrir FDatos" onAction="mcrRibbon.abrirFDatos"/>
<button id="abreCDatosId" label="Abrir CDatos" onAction="mcrRibbon.abrirCDatos"/>
<button id="subMenuInformes1Id" label="Vista informe" onAction="mcrRibbon.abrirRDatosReport"/>
<button id="subMenuInformes2Id" label="Vista preliminar" onAction="mcrRibbon.abrirRDatosPreview"/>
<button id="imprimeRDatosId" label="Imprimir RDatos" onAction="mcrRibbon.abrirRDatosPrint"/>
Y listo!
12
Vistame en http://neckkito.siliconproject.com.ar