![]() |
| Resultado final del artículo. |
Para la explicación voy a seguir con el documento que creamos en el artículo anterior, pero en mi caso le he quitado el grupo "Albaranes" de la ficha "Facturación" y la ficha "Productos". He quitado casi todo lo que por el momento no vamos a utilizar. Si no lo tenéis, lo podéis descargar del siguiente enlace.
En la primera imagen del artículo, podemos ver cuál será el resultado visual final. Como podéis ver aparecen los dos botones que añadimos en el artículo anterior y uno tercer botón nuevo. Entre el segundo y el tercero he metido un separador que consiste en una línea vertical de separación. Primero vamos a realizar estos cambios, añadiremos el tercer botón y el separador.
![]() |
| Separador para separar controles en los grupos de controles. |
Abrimos el documento en el Custom UI Editor y vamos con las modificaciones en el aspecto visual del grupo de controles "Facturas". En algunas ocasiones puede que queramos separar controles dentro de un mismo grupo, por ejemplo en este caso he querido separar de los otros dos el botón que permitiría eliminar facturas. Como es un poco peligros he decidido separarlo un poco. Para esto tenemos un control que podemos definir en el código XML y que se utiliza como separador, escribimos la siguiente líneas después de los dos botones que tenemos definidos del artículo anterior.
<separator id="separador01" />
<button id="botonEliminarFactura" label="Eliminar" size="large" imageMso="ReviewDeleteComment" />
![]() |
| Añadimos un separador con la etiqueta separator y un botón con button. |
La primera línea que hemos añadido es completamente nueva, en ella usamos la etiqueta "separator" para añadir un separador entre los dos botones que ya existen y el que creamos en la siguiente línea. Como ya os he comentado como separador se crea una línea vertical, en la siguiente imagen lo podéis ver. Es una etiqueta muy sencilla lo único que hemos utilizado en su interior es la propiedad "id" para darle un identificador. Como podéis observar, al igual que la etiqueta "buton" no tiene etiqueta de cierre, se define en una sola etiqueta. Como en su interior no hay otros elementos no hace falta, todo en una sola etiqueta.
Después del separador hemos añadido otro botón que usaremos para eliminar facturas. Sobre los botones ya os hablé en el artículo anterior y de momento no hay nada nuevo que contaros en este. Para definirlo he utilizado las propiedades de las que ya os hablé.
![]() |
| Aspecto definitivo de la ficha Facturación. |
Una vez que tenemos el aspecto visual creado, vamos con el lógico, con el funcionamiento. Como os he dicho antes, de los botones no hemos utilizado la propiedad más importante que tienen, la que nos permite indicar que pasará cuando se pulsen. ¿De qué nos sirve un botón si no pasa nada al pulsarlo? De los tres botones que tenemos, dos los vamos a modificar para que hagan algo al ser pulsados. Va ser muy sencillo, ya os he dicho que en estos artículos sobre todo me quiero centrar en conocer todo lo relacionado con el XML. Ya tendremos tiempo de crear código más complejo para ser ejecutado desde la Cinta de Opciones. De momento lo único que pasará es que cuando pulsemos el botón "Nueva" se añadirá una nueva hoja al documento y al pulsar el botón "Eliminar" se eliminará la hoja en la que estamos en ese momento. Evidentemente ninguna de las dos tareas se corresponde con crear nuevas facturas y eliminarlas, pero ya os digo que eso no es lo que estamos aprendiendo en estos artículos. Vamos con el primero, modificamos el código del primer botón para añadir una nueva propiedad, la propiedad "onAction":
<button id="botonNuevaFactura" label="Nueva" size="large" imageMso="FileNew" onAction="Facturas.CrearFactura"/>
La propiedad "onAction" es la responsable de controlar que se hace cuando se pulsa un control, en este caso un botón. En ella tenemos que indicar el nombre de la macro o procedimiento VBA que queremos que se ejecute al ser pulsado el botón. Aquí le he dicho que se ejecutará un procedimiento llamado "CrearFactura" que está situado dentro de un módulo llamado "Facturas". Ahora diréis, ¿Y dónde está esto? Bueno pues cuando acabemos en el Custom UI Editor debemos ir a Excel para crear ambas cosas, el módulo y el procedimiento. Es cuanto llegará el momento de programar. En cuanto al XML ya no hay nada más que hacer, esto es todo para este botón. Nos falta hacer lo mismo con el tercer botón, el que eliminará las facturas.
<button id="botonEliminarFactura" label="Eliminar" size="large" imageMso="ReviewDeleteComment" onAction="Facturas.EliminarFactura"/>
![]() |
| Código XML con las llamadas a los Procedimientos de VBA. |



