BannerAnuncios

Mostrando entradas con la etiqueta Personalizar Ribbon. Mostrar todas las entradas
Mostrando entradas con la etiqueta Personalizar Ribbon. Mostrar todas las entradas

lunes, 20 de octubre de 2014

Vídeo: Depurar y Encontrar los Errores en el Código XML que personaliza la Interface de Usuario de Excel.



En los primeros vídeos dedicados a la personalización de la Interface de Usuario de Excel, hemos ido creando unas personalizaciones básicas de la Ribbon de Excel. Aunque han sido personalizaciones muy simples, es muy fácil confundirse a la hora de escribir código XML y la verdad es que luego no es tan fácil encontrar donde están los errores. Si no conocéis las dos posibilidades para encontrar errores que os voy a explicar en este vídeo, os acabaréis volviendo locos.

Para depurar y encontrar los errores tenemos estas dos opciones. Primero podemos utilizar la validación del código XML que se puede realizar en el Custom UI Editor. Esta validación puede ser interesante usarla mientras vamos desarrollando el código, para ir corrigiendo errores rápidamente. Antes de abrir el documento en Excel y encontrarnos con problemas la podemos usar para ver si todo está bien. Con el tiempo os daréis cuenta que esta validación tiene algunas limitaciones y puede que se le pasen errores en el código XML.

Para identificar los errores que se le pasen al Custom UI Editor podemos usar la depuración de código XML que ofrece Excel. Activando una opción de Excel, el programa nos avisará de los errores que encuentra al cargar las personalizaciones... Y a esta posibilidad sí que no se le pasará ningún error. En el vídeo vamos a utilizar las dos provocando diferentes errores y viendo cómo funcionan ambas posibilidades ante los mismos errores. Acabaréis viendo como la opción de Excel es mucho más completa en cuanto a identificar errores y dar información sobre ellos.

Para realizar los pasos que veréis en el vídeo os podéis descargar el siguiente archivo de Excel:



Todos mis vídeos son Gratis, pero si te gusta mi trabajo, puedes realizar una donación para que pueda continuar con este proyecto. Cualquier cantidad desde 1€/1$ es bienvenida. Gracias!!!!!!!!!!!!!!

 

Como siempre aquí tenéis el enlace para ver el vídeo, espero que os guste:

  • Nombre: Depurar y Encontrar los Errores en el Código XML que personaliza la Interface de Usuario de Excel.
  • Versión de Excel: ES/Español.
  • Audio: Español.
  • Subtítulos: Español.
  • Duración Vídeo: 19m 15s.



Nada más por hoy. Para mañana intentaré tener lista la segunda parte del artículo dedicado a desactivar y activar botones de la Cinta de Opciones en tiempo de ejecución ;)

*Siguiente sesión*:

miércoles, 17 de septiembre de 2014

Vídeo: Crear Botones en la Cinta de Opciones o Ribbon de Excel con XML y el Office Custom UI Editor.



En la sesión anterior, aprendimos a crear fichas personalizadas en la Ribbon de Excel usando código XML. En esta, vamos a dar contenido a las fichas, aprenderemos a crear "Grupos de Controles" y "Botones", también usando código XML y el Office Custom UI Editor.

En las fichas de la cinta de opciones puede haber multitud de tipos de controles: Botones, Listas, Cuadros combinados, galerías, etc... En este vídeo vamos a empezar por los más fáciles de crear y manejar, los botones. Antes de empezar a crearlos, debemos conocer otro tipo de objetos, los grupos de controles. Cualquier tipo de control que queramos añadir a una ficha debe estar dentro de un grupo de controles, en las fichas que tiene Excel de serie se pueden ver ejemplos. Por ejemplo en la ficha "Inicio" de Excel tenemos los grupos "Portapapeles", "Fuente", "Alineación", "Número", etc...

Grupos de Controles en la Ficha Inicio.

Los grupos se crean usando la etiqueta "group" y en su interior iremos añadiendo todas las etiquetas que definan los controles que irán dentro de cada grupo. En este caso irán todas las etiquetas "button" que definirán los botones que vamos a crear. Esto es principalmente lo que vamos a ver en esta sesión, las etiquetas "group" y "button" que nos permitirán crear "Grupos de Controles" y "Botones". Igual que en el vídeo anterior os iré explicando algunas de las propiedades que vamos a utilizar para definir ambos objetos.

Entre otras propiedades hablaremos de la propiedad "size" e "imageMso". Con la primera controlaremos el tamaño de los botones que creamos y con la segunda la imagen que se muestra en los botones. La propiedad "imageMso" es una de las posibilidades que tenemos para configurar la imagen de un botón, más adelante hablaremos del resto. Para configurar esta propiedad puede ser interesante que os descarguéis este archivo de la página Web de Microsoft. Es un documento que os ayudará a elegir la imagen que queréis para vuestro botón, en el vídeo os doy más detalles sobre su uso.


Para realizar los pasos que veréis en el vídeo os podéis descargar el siguiente archivo de Excel, sino tenéis el de las sesión anterior o no lo queréis modificar.


También os dejo aquí el enlace para descargar el programa "Custom UI Editor" que uso en los vídeos. Seguramente ya lo tendréis todos, pero lo pongo para los rezagados. Recordad que es de uso libre y aquí os dejo el enlace oficial en el que lo podéis descargar.

lunes, 15 de septiembre de 2014

Artículo: Cómo encontrar y depurar los errores en el código XML que personaliza la Interface de Excel.

Podemos depurar código XML en Excel
Podemos depurar código XML en Excel.
Seguro que más de uno, en los artículos anteriores, se ha vuelto loco buscando donde se había confundido y pensando en porque no se muestran los cambios que os he explicado en esos artículos. Como ya os he comentado es  muy fácil confundirse al escribir el código XML y la verdad es que si no conocemos las opciones que os voy a explicar hoy, es muy difícil encontrar el error. Como poco a poco los ejemplos se van a ir complicando, creo que ya es el momento de explicaros dos opciones que tenemos para encontrar errores en el código XML. Una está en el "Custom UI Editor" y la otra está dentro de Excel. Vamos con ellas. Para este artículo voy a utilizar el documento acabado en el artículo anterior. Si no lo tenéis lo podéis descargar del siguiente enlace:


Una vez tengamos todos el documento vamos a empezar con el trabajo en el "Custom UI Editor". Abrimos el documento y vamos a provocar varios errores en el código XML, para así ver que opciones tenemos en el programa para encontrarlos. Por ejemplo, vamos a empezar cometiendo uno de los errores más típicos, el de las mayúsculas. Vamos a cambiar las dos etiquetas "ribbon", pondremos la primera letra en mayúsculas.

<Ribbon>
</Ribbon>
Escribimos la etiqueta ribbon con mayúsculas
Escribimos la etiqueta ribbon con mayúsculas.

Ahora vamos con la opción que nos ayudará a encontrar este error, el botón para validar. Este botón está situado en la pequeña barra de herramientas que tiene el "Custom UI Editor", es el botón con una "V" roja de validación.

Botón para validar el código XML
Botón para validar el código XML.

Cuando pulséis este botón el "Custom UI Editor" hará una validación del código y si encuentra algún error os mostrará información sobre el error que ha encontrado. Pulsamos y obtendremos el siguiente mensaje.

Mensaje de error al validar el código XML
Mensaje de error al validar el código XML.

Os resumo lo que dice, básicamente nos está diciendo que dentro de un "customUI", no puede haber algo llamado "Ribbon". Eso es lo que nos dice en la primera parte del mensaje, nos dice que en el espacio de nombres que hemos indicado en la primera línea del código XML, no hay elementos que se llamen "Ribbon", dentro de un "customUI". Esta es la primera línea de código XML que tenemos escrita.

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

Cuando escribimos esta línea en otro artículo, os conté un poco por encima para que servía, pero ahora os puedo dar más detalles. Un espacio de nombres es una manera de organizar elementos, objetos, es una organización virtual. Es una manera de organizar objetos de diferentes tipos que pueden tener los mismos nombres, organizándolos en espacios de nombres diferentes, podemos evitar esos conflictos. En concreto, en nuestro ejemplo, le indicábamos que queríamos utilizar el espacio de nombres en el que están incluidos todos los elementos y objetos que se pueden utilizar para crear una personalización de la Interface de Usuario en Excel 2010. Bueno pues al pulsar el botón para validar, el "Custom UI Editor" comprueba si los elementos que utilizamos en las etiquetas, existen en ese espacio de nombres. Como en XML se diferencia entre mayúsculas y minúsculas, no ha encontrado el que nosotros hemos indicado.

Fijaros, que el mensaje es mucho más interesante de lo que parece a primera vista. Habla de que dentro de un "customUI", es decir dentro del primer nivel que hemos creado en el código XML, no existe algo llamado "Ribbon". Es decir, que no solo mira si existe lo que hemos escrito, también mira si lo que hemos escrito tiene sentido en el nivel que está escrito. De hecho fijaros, justo después de decirnos eso, nos da las posibilidades que tenemos para utilizar dentro de un "cutomUI". Nos dice que podemos usar "commands", "ribbon", "backstage" y "contextMenus". Aquí sólo hemos usado "ribbon", del resto ya hablaremos. Por lo tanto ya veis, que si nos fijamos bien en el mensaje y nos lo tomamos con tranquilidad, tenemos mucha información para encontrar el problema.

lunes, 25 de agosto de 2014

Vídeo: Personalizar la Interface de Usuario y la Ribbon de Excel con XML y VBA, Conceptos Básicos.



Al crear Macros o código VBA en Excel siempre buscamos la manera más cómoda y rápida de ejecutar el código que hemos desarrollado. Habitualmente se suelen utilizar controles ActiveX integrados en las hojas para conseguirlo, pero en mi opinión tenemos otra opción mucho mejor. Personalizando la Interface de Usuario de Excel, podemos conseguir que los documentos que creamos se adapten mejor a nuestras necesidades y que las herramientas que desarrollamos con VBA queden perfectamente integradas hasta el punto de parecer herramientas propias de Excel. En concreto personalizando la Cinta de Opciones o Ribbon, podemos conseguir un resultado mucho más satisfactorio a la hora de ejecutar las macros que desarrollemos, que con los típicos controles ActiveX que os acabo de comentar. Con controles ActiveX me refiero a los típicos botones, cuadros combinados, etc... Que se suelen insertar en las hojas.

En esta serie de vídeos que comienzo hoy os voy a explicar cómo personalizar la Interface de Excel, sobre todo la Ribbon para conseguir crear documentos mucho más usables y adaptados a lo que necesitamos. Veremos cómo crear nuevas fichas, grupos de botones, botones, cuadros combinados, cuadros combinados con imágenes, cómo activar o desactivar controles en la Ribbon según nuestras necesidades... En definitiva sobre todo vamos a intentar tener un control total sobre la Cinta de Opciones y otros elementos que componen la Interface de Usuario de Excel.

Personalización de una Cinta de Opciones
Personalización de una Cinta de Opciones.

Para conseguirlo vamos a crear personalizaciones utilizando el lenguaje XML y el código VBA de Excel, todo el trabajo que vamos a desarrollar lo vamos a realizar desde el punto de vista de la programación. Para crear el código XML necesario para las personalizaciones vamos a utilizar un programa libre, completamente gratis, llamado "Custom UI Editor", en el siguiente enlace lo podéis descargar.


No os cuento nada más, si os gustan los temas avanzados de Excel os aconsejo que no os perdáis esta serie de vídeos porque abren todo un mundo de posibilidades para integrar mucho mejor nuestros desarrollos en los documentos de Excel. En este vídeo se tocan los mismos temas que en el artículo que publiqué hace unos días, "Conceptos previos para personalizar la Cinta de Opciones o Ribbon de Excel con XML y VBA", pero como sabéis yo soy más partidarios de los vídeos y aquí tenéis el correspondiente a ese artículo.

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.