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 ;)

martes, 14 de octubre de 2014

Artículo: Cómo Activar y Desactivar Botones en la Cinta de Opciones de Excel con enabled y getEnabled. 1ª Parte.

Botón desactivado en la Cinta de Opciones.
Botón desactivado en la Cinta de Opciones.
Seguimos profundizando en la personalización de la "Cinta de Opciones" de "Excel" y en este artículo os voy a explicar cómo activar y desactivar los botones que creemos en ella. Os voy a explicar cómo hacerlo tanto en tiempo de diseño como en tiempo de ejecución. Empezaremos el artículo hablando de la propiedad "enabled" que nos permite indicar si un control aparece activado o desactivado. Esta opción es interesante si por ejemplo queremos que los controles aparezcan siempre de inicio desactivados. Esta sería la opción que tenemos para controlar el estado de los botones en tiempo de diseño, cuando estamos creando el código XML que define el botón. Pero no es la opción más interesante y potente que tenemos para activar o desactivar controles. La otra posibilidad que tenemos es la de activar o desactivar los botones mientras se usan los documentos de Excel. Es decir dependiendo de condiciones que nosotros necesitemos controlar, decidiremos si los controles se activan o se desactivan. Para esto usaremos la función "getEnabled" y código VBA. El uso de esta función os lo voy a explicar en dos artículos, si lo haría todo en este quedaría un artículo muy largo y creo que así se entenderá mejor ya que su uso es un poco "extraño". Cuando empecemos con esta función os daré más detalles.

Para seguir los pasos de este artículo necesitáis descargaros el siguiente documento de Excel que he preparado. Es una modificación de los que he usado en artículos anteriores y en los vídeos que estoy publicando del mismo tema. Cuando lo tengáis lo abrís en el "Custom UI Editor".


Este documento tiene una ficha personalizada llamada "FACTURACIÓN" en la que hay tres botones, pero de entada ya os digo que sólo funciona uno, el botón para eliminar facturas. La idea es que con esos botones podemos crear, guardar y eliminar facturas pero los dos primeros botones tienen mucho trabajo y voy a dejar la explicación para los vídeos. Aquí me voy a centrar sólo en la parte importante, en cómo podemos activar o desactivar botones de la Ribbon. Para la primera parte de este artículo usaré el botón de crear nuevas facturas y para la segunda utilizaré el de eliminar facturas.

Botones personalizados de la Ribbon con los que vamos a trabajar.
Botones personalizados de la Ribbon con los que vamos a trabajar.

Vamos con la parte del artículo en la que os hablo de la propiedad o atributo "enabled". Esta propiedad también la tienen otros controles pero de momento en el curso estamos centrados en los botones que son los controles más sencillos de usar. La propiedad "enabled" establece si el control, en este caso el botón, está activado o no. Se le pueden asignar dos valores a esta propiedad, "true" o "false", verdadero o falso. Con true se activa el botón y con false de desactiva. Por ejemplo vamos a desactivar el primer botón que tenemos definido en nuestra ficha personalizada, el de crear nuevas facturas. Añadimos a la definición de ese botón esa propiedad.

<button id="botonNuevaFactura" label="Nueva" size="large" image="Nueva" enabled="false"/>

Igual que con el resto de propiedades escribimos el nombre de la propiedad y entre comillas dobles le asignamos su valor, en este caso "false" para desactivar el botón. Vamos a probar que hemos conseguido con esto, cerramos guardando los cambios y abrimos el documento en Excel. Al abrirlo, como lo habéis descargado de Internet seguramente os pedirá que habilitéis la edición y que habilitéis las macros, lo hacéis. Y como podemos ver en la siguiente imagen el botón aparecerá desactivado. Esta difuminado y si intentamos pulsar encima de él no podemos.

El primer botón de la ficha personalizada está desactivado con el atributo enabled.
El primer botón de la ficha personalizada está desactivado con el atributo enabled.

Bueno pues esta es la idea, con esa propiedad podemos establecer si un control está activado o no. Esto que os acabo de explicar está muy bien, lo que pasa que es muy limitado. Esto nos puede servir si queremos que algún control esté siempre desactivado al abrir un documento, pero si necesitamos que el botón este activado o desactivado dependiendo de algo, no lo podemos hacer con "enabled". Eso lo tendríamos que hacer con la función "getEnabled", vamos con ella.

lunes, 6 de octubre de 2014

Artículo: Cómo usar nuestras imágenes en los Botones de la Ribbon de Excel usando el Custom UI Editor.

Botones en la Ribbon con nuestras propias imágenes.
Resultado final del artículo.
En los artículos anteriores, os he hablado de algunas de las propiedades que tiene "button" para crear botones en las fichas de la "Cinta de Opciones". Por ejemplo he hablado de las propiedades "size", "label", "imageMso"... De esas propiedades que ya hemos visto os puedo decir que son básicas para poder definir botones, pero también os puedo decir que hay muchas más que nos permitirán ajustar los botones a lo que realmente necesitamos. En este artículo voy a empezar a trabajar con la propiedad o atributo "image", con ella podremos utilizar en los botones de la Ribbon, nuestras imágenes. En los artículos anteriores os enseñé como utilizar imágenes de otros comandos de los programas de Office, en este os voy a enseñar una de las maneras que tenemos para utilizar las nuestras. Para este artículo voy a utilizar el último documento que he utilizado en la serie de artículos dedicados a este tema. Si no lo tenéis lo podéis descargar en el siguiente enlace.


También vais a necesitar las imágenes que voy a usar para los botones, las podéis descargar a continuación.


Antes de empezar con el trabajo, me gustaría aclarar un detalle. En este artículo vamos a usar para los botones, imágenes que forman parte del documento de Excel con el que estamos trabajando. Es decir, las imágenes estarán dentro del archivo que contiene el documento para el que estamos creando la ficha personalizada. Con el "Custom UI Editor" podemos añadir imágenes dentro de los documentos de Excel y así podemos usarlas en el código XML para definir las imágenes de los botones que creemos. Esta es la posibilidad más sencilla que tenemos para usar imágenes nuestras en los botones de la Ribbon. Si queremos usar imágenes que están fuera del documento, imágenes que por ejemplo están guardadas en una carpeta de nuestro disco duro... Tendremos que hacer más pasos de los que vamos a ver aquí, será un poco más difícil. En este artículo nos vamos a centrar en la primera posibilidad, las imágenes que están almacenadas fuera del documento las dejaremos para artículos posteriores.

Imágenes insertadas dentro de un proyecto o documento de Excel.
Imágenes insertadas dentro de un proyecto o documento de Excel.

Vamos con el tema de este artículo. Para empezar a utilizar nuestras imágenes en los botones, lo primero es tenerlas preparadas. No os voy a dar una "lección maestra" sobre qué características deben tener las imágenes que uséis, pero sí que os voy a dar algunos consejos que deberíais tener en cuenta. Para empezar el formato de la imagen, hay muchos formatos gráficos, por ejemplo "JPG", "GIF", "BMP", "PNG"... Cada uno de ellos tiene algunas características que lo diferencian del resto, pero en mi opinión la mejor opción para ser usada en los botones de la "Ribbon", son las imágenes en formato "PNG". La razón principal para recomendaros este formato es que es el que mejor trabaja con las transparencias y este es un detalle muy importante para que no pasen cosas como las que os voy a contar enseguida. El único problema que tienen las imágenes en formato "PNG" es que si las imágenes se encuentran fuera del documento, guardadas en carpetas de nuestro equipo, su uso será mucho más complicado que los otros formatos que os he comentado líneas atrás. Se puede hacer, pero habrá que escribir algo de código VBA. Esa es la única limitación que tienen, pero para lo que vamos a ver en este artículo, ese detalle no nos afecta.

Otro detalle importante, las dimensiones de las imágenes que usaremos. Los "expertos" en temas gráficos recomiendan un tamaño de 32x32 píxeles para las imágenes que usemos en botones grandes y de 16x16 píxeles en botones pequeños. Si usáis imágenes con dimensiones superiores, Excel las reescalará y se pueden producir deformaciones y efectos que afeen el resultado final. Lo mejor es trabajar con esas dimensiones al crear las imágenes que irán en los botones. Para crear las imágenes podéis usar vuestro programa de diseño o de retoque favorito, desde el simple "Paint" al más completo "Photoshop".

Detalles de una imagen preparada para los botones de la Ribbon.
Detalles de una imagen preparada para los botones de la Ribbon.

Empezamos, abrimos el documento de este artículo en el "Custom UI Editor" y comenzaremos añadiendo las imágenes que usaremos en los botones. Si os habéis descargado mis imágenes, tendréis cuatro, dos en formato "JPG" y otras dos en formato "PNG". Vamos a empezar con las imágenes en formato "JPG", así comprobaremos que pueden pasar "cosas raras" si no usáis el formato "PNG". Para añadir las imágenes debemos pulsar el siguiente botón o utilizar la opción "Icons..." del menú "Insert".

Opciones para Insertar imágenes en un documento de Excel.

Opciones para Insertar imágenes en un documento de Excel.
Opciones para Insertar imágenes en un documento de Excel.

Al hacerlo aparecerá la típica ventana de Windows en la que podemos seleccionar archivos para abrirlos. Seleccionamos los dos en formato "JPG" y pulsamos en el botón "Abrir".

Seleccionamos las imágenes que vamos a insertar en el documento de Excel.
Seleccionamos las imágenes que vamos a insertar en el documento de Excel.

Al hacerlo veremos algo nuevo en el "Custom UI Editor", en la parte izquierda tendremos las dos imágenes que ya forman parte del proyecto, del documento. Forman parte del "customUI14.xml" que contiene este documento, a partir de ahora ya las podemos usar desde el código XML. Si no las veis deberéis desplegar el contenido del "customUI14.xml" pulsando en el más que tiene a su izquierda.

Se pulsa en el + para mostrar el contenido del "customUI".
Se pulsa en el + para mostrar el contenido del "customUI".

Las imágenes ya forman parte del proyecto.
Las imágenes ya forman parte del proyecto.