BannerAnuncios

Mostrando entradas con la etiqueta Tab. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tab. Mostrar todas las entradas

lunes, 11 de agosto de 2014

Artículo: Cómo crear Botones en la Cinta de Opciones o Ribbon de Excel con XML.

Crear Botones en ficha personalizada
Resultado Final de este Artículo.
En el artículo anterior, llegamos a crear dos fichas personalizadas en la Cinta de Opciones de Excel, en la Ribbon. Pero estaban vacías, no había controles en su interior. En este artículo vamos a empezar a añadirlos, en concreto vamos a ver como insertar botones en las fichas personalizadas de la Ribbon. A partir de aquí, nos vamos a encontrar con multitud de controles y propiedades que poco a poco iremos explicando en los diferentes artículos. En la imagen de al lado podéis ver el resultado final que obtendremos  al finalizar el artículo. El documento que voy a usar, lo podéis descargar pulsando en el siguiente enlace.


Si habéis seguido los pasos del artículo anterior podéis usar el vuestro. Por lo tanto abrimos el documento  en el Custom UI Editor y así veremos el código XML de ese artículo

Código XML para definir dos fichas personalizadas
Código XML para definir dos fichas personalizadas.

Lo primero que debemos tener en cuenta para añadir controles en las fichas de la Ribbon, es que deben estar dentro de otro contenedor que todavía no hemos usado. En el anterior artículo llegamos hasta la etiqueta "tab", que era la que realmente creaba la ficha. Pero todavía necesitamos otro para poder crear botones u otros controles. Escribimos las siguientes líneas entre las etiquetas que definían la ficha "FACTURACIÓN". 

<group id="grupoFacturas" label="Facturas">
</group>
Creamos un grupo de controles con la etiqueta group
Creamos un grupo de controles con la etiqueta group.

Con la etiqueta "group" que hemos añadido dentro de "tab", creamos un grupo de controles. Si os fijáis en cualquiera de las fichas que tiene Excel de serie, veréis que los controles están distribuidos en grupos de controles. Por ejemplo en la ficha "Inicio" tenemos los grupos "Fuente", "Alineación", "Número", etc...

Grupos de controles en la ficha "Inicio" de Excel 2013
Grupos de controles en la ficha "Inicio" de Excel 2013.

Bueno, pues con la etiqueta "group" creamos un grupo de controles en el que posteriormente iremos añadiendo botones. Se pueden insertar más tipos de controles, pero en este artículo sólo usaremos botones. Esta etiqueta es muy sencilla e igual que todas las etiquetas que pueden contener otros elementos, tiene etiqueta de inicio y de fin. En cuanto a las propiedades, solo hemos usado la propiedad "id" para identificar el grupo y la propiedad "label" para indicar el texto que se verá como nombre del grupo. En este caso como texto hemos puesto "Facturas".

Ficha con el grupo de controles creado pero vacío
Ficha con el grupo de controles creado pero vacío.

En la imagen anterior podéis ver el grupo de controles y en la parte inferior tiene el nombre que hemos indicado en la propiedad "label". Como no hemos metido todavía controles en su interior, está vacío. Como podéis comprobar en las fichas de Excel, puede haber más de un grupo en una ficha. Lo único que habría que hacer es añadir tantas etiquetas "group" como grupos tenga. Por ejemplo puedo añadir otro grupo dentro de la primera ficha, en este caso un grupo dedicado a los albaranes, a las notas de entrega.

<group id="grupoAlbaranes" label="Albaranes">
</group>
Código XML para definir un grupo de controles
Código XML para definir un grupo de controles.

Igual que con las fichas, el orden en el que aparecerán los grupos depende del orden en el que los escribáis en el código XML. Este sería el resultado que obtenemos:

Dos grupos vacíos en la ficha personalizada
Dos grupos vacíos en la ficha personalizada.

viernes, 8 de agosto de 2014

Artículo: Cómo crear fichas en la Cinta de Opciones con XML y el Custom UI Editor.


Ficha Personalizada que vamos a crear
Ficha Personalizada que vamos a crear.
Después de la pequeña introducción del artículo anterior, vamos a crear unas fichas personalizadas en la Ribbon, usando el Custom UI Editor. En este ejemplo vamos a crear algo muy sencillo, como es el primer ejemplo nos vamos a centrar más en conocer detalles del Custom UI Editor y del lenguaje XML. En este artículo sólo vamos a escribir el código XML necesario para mostrar dos fichas nuevas en la Cinta de Opciones de Excel. En el siguiente artículo les añadiremos controles, pero en este sólo las vamos a crear. En concreto vamos a crear dos fichas llamadas "Facturación" y "Productos". Vamos a suponer que vamos a crear un documento que nos permita llevar la gestión de un pequeño negocio. Pero fijaros que estoy hablando de suponer, no vamos a desarrollar el documento por completo, sólo lo vamos a utilizar para las explicaciones relacionadas con la Ribbon. Recordad que yo utilizo la versión 2013 de Excel, pero todo lo que expliqué en este artículo funcionará igual en Excel 2010.

Para empezar, tenéis que crear un documento nuevo en Excel y lo debéis guardar, yo por ejemplo le voy a llamar "GestionNegocio". Cuidado, porque en el tipo de archivo tenéis que elegir Libro de Excel habilitado para macros (*.xlsm). Los controles que vamos a crear en los artículos van a interactuar con macros, con código VBA y por lo tanto el archivo tiene que tener este formato para poder contener ese código.

Guardar el documento como Libro habilitado para Macros
Guardar el documento como Libro habilitado para Macros.

Una vez guardado el documento, cerráis Excel o el documento, lo que más rápido os parezca... Y así, de momento, ya hemos acabado con el trabajo en Excel, ahora toca el trabajo en el "Custom UI Editor". En el artículo anterior os comenté donde conseguir este programa libre, podéis acceder a él para descargarlo si todavía no lo tenéis. Lo buscamos en Windows y lo ejecutamos... En cuando se cargue, abrimos el documento que acabamos de crear en Excel.

Custom UI Editor con el documento abierto
Custom UI Editor con el documento abierto.

Al hacerlo, la pantalla se dividirá en dos. En la parte izquierda del programa nos muestra el nombre del documento que tenemos abierto. Si el archivo tendría hecha una personalización, veríamos algo más, en esa parte izquierda, pero como no es así solo vemos el nombre del documento. Enseguida os contaré que es lo que veríamos. La parte derecha la veréis completamente vacía por la misma razón, todavía no hemos personalizado el documento. Ahí deberíamos ver el código XML que define la personalización que hemos realizado. Para empezar con el trabajo debemos añadir a nuestro documento el archivo XML que os comenté en el artículo anterior, el que tenía que contener la definición de la cinta personalizada o las modificaciones que hagamos en la Interface de Usuario de Excel. Para hacerlo debemos acceder al menú "Insert" y ahí tenemos dos opciones.

Añadir archivo XML al archivo de Excel
Añadir archivo XML al archivo de Excel.

Como podéis ver en la imagen, se puede elegir entre crear una personalización para Office 2010 o 2007. Ya os comenté en el artículo anterior que hay pequeñas diferencias entre ambas versiones y por eso se da la opción de crear una personalización específica para cada versión. En el caso de Excel 2013 también se usa la de la versión 2010, aunque no lo ofrezca como opción, funcionará sin problemas. Este programa es muy antiguo y no se ha actualizado para la versión 2013 porque no hace falta, con la personalización de la versión 2010 funciona perfectamente.

Archivo XML de personalización insertado en el documento de Excel
Archivo XML de personalización insertado en el documento de Excel.

En mi caso he seleccionado la opción 2010 y ya podéis ver el resultado. Como os comenté en el artículo anterior para personalizar la interface de Excel, en este caso la cinta de opciones, en la versión 2010/2013 de Excel hay que insertar un archivo XML llamado "customUI14.xml"... Y eso es lo que acaba de hacer el programa. Si usáis la versión 2007 deberíais seleccionar su opción para insertar el archivo XML correcto, que en ese caso se llamaría "customUI.xml".

Archivo XML insertado par ala versión 2007
Archivo XML insertado para la versión 2007.

En el artículo anterior os comenté que si queréis podéis añadir los dos archivos de configuración a un documento. Si pensáis que puede ser interesante que cada versión, 2007 por un lado y 2010/2013 por otro, tengan personalizaciones diferentes, lo podéis hacer. Lo único que tenéis que hacer es volver al menú "Insert" y seleccionar la versión que todavía no habéis metido. Así acabaréis con dos archivos de configuración en el documento de Excel que se adaptarán a la versión que usemos.

Dos archivos XML insertados para cada una de las versiones
Dos archivos XML insertados para cada una de las versiones.

Yo sigo adelante con el archivo de la versión 2010/2013 y vamos a empezar a escribir código XML. Usando algunas de las plantillas que hay en el menú "Insert" podríamos ahorrarnos algo de escritura de código, pero no las voy a usar. Como añaden más líneas de las que necesitamos y habría que borrar algunas, prefiero empezar escribiendo todo manual y explicando cada una de las líneas que añadimos. Las dos primeras líneas que tenemos que añadir son las siguientes.

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
</customUI>
Líneas que definen una personalización de la Interface de Usuario de Excel
Líneas que definen una personalización de la Interface de Usuario de Excel.

Con estas dos primeras líneas estamos definiendo una personalización de la Interface de Usuario de Excel. Cuando se abra el documento, Excel mirará este archivo y al encontrar estas dos líneas, ya sabe que hemos personalizado algo y que tiene que prestar atención a lo que estará entre estas dos líneas. La primera línea es la de apertura y la última es la de cierre. Todo lo que forme parte de la personalización deberá estar entre estas dos líneas. Esta es la estructura del lenguaje XML, se basa en elementos que se definen con etiquetas. En este caso hay una etiqueta de apertura, la que empieza por "<customUI" y la de cierre "</customUI>". Cuando hay etiqueta de apertura y de cierre, la de cierre siempre es el elemento que se crea con una barra por delante, en este caso el elemento era un customUI, una personalización de la interface de usuario.