0% encontró este documento útil (0 votos)
61 vistas10 páginas

Crear Botones en Cinta Excel - CUSTOM UI

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas10 páginas

Crear Botones en Cinta Excel - CUSTOM UI

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

lunes, 4 de agosto de 2014

Personalizar la Cinta de Opciones o Ribbon de Excel con


XML y VBA, Conceptos Previos.
Curso: Personalizar la UI de
Excel con XML y VBA.
Formato: Artículo/Tutorial.
Artículo Nº: 1 de 10.
Siguiente Artículo/Tutorial: Crear Fichas Pers...
Versión Vídeo/Tutorial: Personalizar Interfa...

Custom UI Editor.
Cuando creamos Macros o código VBA en Excel, siempre buscamos la manera más cómoda
y rápida de ejecutar el resultado final. Nos gusta que nuestros documentos de Excel, queden
como si fueran aplicaciones hechas a medida y muchas veces para conseguirlo, creamos
botones u otro tipo de controles que insertamos en las hojas del documento. Cuando el usuario
interactúa con ellos, se ejecutan las macros que hemos desarrollado. Por ejemplo podríamos
aplicar filtros cuando el usuario pulse un botón, o cuando seleccione un valor de un cuadro
combinado, como sería el caso de la siguiente imagen que os muestro en el artículo. Eso está
muy bien, es uno de los usos clásicos de las Macros y el código VBA. Pero a partir de la
versión 2007 de Excel, Microsoft puso a nuestra disposición otra manera de ejecutar el código
que desarrollemos y de mejorar la usabilidad de nuestros documentos, la Cinta de Opciones.
La Cinta de Opciones o Ribbon como se le conoce en Inglés, es la parte superior de la
ventana de Excel en la que tenemos disponible todas las herramientas que podemos utilizar en
el programa. También está disponible en otras aplicaciones de Office pero en los artículos que
voy a publicar sobre ella, de momento me voy a centrar en Excel.

Aplicación de Filtros con Controles ActiveX.


Cinta de Opciones en Excel 2013.

En su primera aparición en Office 2007, prácticamente no se podía personalizar por parte del
usuario "normal" de las aplicaciones. Mediante XML y VBA sí que se podía personalizar
bastante, no todo lo que querías, pero no estabas tan limitado como lo estabas desde el
programa. A partir de la versión 2010, Microsoft abrió la mano y permitió que cualquier usuario
la personalizara prácticamente a su gusto. Pero aun así, sigue siendo mucho más lo que
podemos hacer programando con XML y VBA.

Código XML para definir una Ficha nueva en la Ribbon.

En esta serie de artículos dedicados a la Ribbon no nos vamos a limitar a simplemente añadir
botones y ejecutar macros, vamos a ver muchas más cosas. Veremos cómo crear fichas,
grupos, botones, veremos cómo desactivar y activar los controles que creemos en las fichas,
crearemos listas desplegables, listas desplegables con imágenes y muchas más cosas que os
iré comentando. En realidad, se puede decir que prácticamente voy a ir aprendiendo a la vez
que vosotros. Últimamente en los documentos que he creado he empezado a utilizar este
recurso de los programas de Office y como me gusta mucho la funcionalidad que ofrece y
como quedan los documentos... he decidido empezar con esta serie de artículos y los vídeos
que llegarán posteriormente. Como suelo decir el que más aprende, es el que explica a otros y
como de este tema no me puedo considerar experto... así aprendemos todos.

Antes de empezar con el "trabajo duro", en este primer artículo, os voy a comentar una serie de
detalles que creo que son muy importantes. Para empezar, en las imágenes de los artículos
veréis que uso la versión 2013 de Excel, pero todo lo que explique funcionará
perfectamente en Excel 2010. Con Excel 2007 sí que hay algunas diferencias pero también
funcionará prácticamente todo. Las diferencias que hay entre Excel 2007 y 2010-2013 es
que en la versión 2007 estaba el Botón de Office y en las versiones 2010 y 2013,
desapareció para dejar paso a la Ficha Archivo. Como de momento no vamos a empezar a
personalizar esa ficha ni el botón de Office, si usáis Excel 2007 no creo que tengáis problemas
en seguir los artículos, pero quería dejarlo claro antes de empezar. Por lo tanto lo que os
explique aquí funcionará al 100% en Excel 2010-2013, en Excel 2007 tendréis que probar. Yo,
es que ya no tengo acceso a Excel 2007, es una versión muy antigua y está mucho más
difundida la versión 2010.
Diferencias en las Cintas de Opciones de Excel 2007 y Excel 2010/2013.

Siguiente detalle. Aunque existen soluciones comerciales que permiten crear cintas de
opciones de forma visual, no las voy a usar. ¿Por qué? Bueno pues porque cuestan dinero y no
están accesibles a todo el mundo. Vamos a usar una herramienta libre llamada Custom UI
Editor for Microsoft Office. Es una herramienta que nos permitirá insertar fácilmente el
código XML que necesitamos para crear nuestras fichas personalizadas. Aunque parece que
sólo sirve para Excel 2007 y 2010, no es así, también se puede utilizar junto con la versión
2013, en el siguiente artículo os daré más detalles. Lo podéis descargar desde el siguiente
enlace.

Custom UI Editor for Microsoft Office

Seguimos con más detalles. En este artículo vamos a empezar con algo suave pero son las
bases de lo que vendrá después. A continuación os voy a dejar claro lo que vamos hacer en
este artículo y en los siguientes. Sobre todo vamos a personalizar la Cinta de Opciones de
Excel, pero sólo para los documentos que nosotros necesitamos. Es decir, vamos a crear
personalizaciones que se cargaran cuando se abra el documento que las contiene. Las
fichas que creemos desaparecerán en cuanto cerremos el documento. En la siguiente imagen
podemos ver dos instancias de Excel 2013 funcionando a la vez, pero la de la izquierda tiene
una Cinta de Opciones personalizada que se ha cargado al abrir el documento que la contenía
y la de la derecha no. Son personalizaciones para documentos individuales.

Cinta de Opciones personalizada y sin personalizar.

Una vez aclarado el objetivo, vamos a ver cómo conseguirlo. Para entender lo que vamos
hacer y lo que hace el Custom UI Editor os tengo que explicar lo siguiente. Los documentos
de Excel desde la versión 2007 no son lo que parecen, ya no son un solo archivo. Me explico
lo que nosotros vemos como un solo archivo, un documento... En realidad son varios
documentos y carpetas comprimidos en un archivo con formato ZIP. Si, el formato que
llevamos años utilizando para comprimir archivos. Los archivos que contienen Macros a
partir de la versión 2007 de Excel acaban con la extensión .XLSM, bueno pues si se la
cambiamos a .ZIP y descomprimimos el archivo, obtendremos algo como esto.

Estructura de los documentos de Excel una vez descomprimidos.

En la parte superior de la imagen podemos ver lo que obtenemos al descomprimir un archivo


de Excel que tiene una Ribbon personalizada, que tiene la interface personalizada. Y en la
parte de abajo tenemos lo que obtenemos al descomprimir un archivo que no tiene Ribbon
personalizada. Si os fijáis hay una diferencia, en el que tiene Ribbon personalizada hay una
carpeta más, la carpeta "customUI". Si entramos dentro de ella veremos lo siguiente:

Archivo XML de personalización de la Cinta de Opciones.

Encontraremos un archivo llamado customUI.xml, en su interior están guardadas las


personalizaciones que hemos hecho a la cinta de opciones de ese documento. Es un archivo
en formato XML que define la apariencia de la Cinta de Opciones de ese documento, en
concreto contiene las modificaciones que hemos hecho en ella. En realidad lo que veis en la
imagen anterior es un archivo de personalización de la cinta de opciones para la versión 2007,
si es para Excel 2010 o 2013 tiene un nombre diferente, en la siguiente imagen lo podéis ver.

Archivos XML de personalización de la Cinta de Opciones para Excel 2007 y 2010/2013.

Para Excel 2010 y 2013 el archivo se llama "customUI14.xml", ambas comparten el mismo
archivo. Como os he dicho hay pequeñas diferencias entre las cintas de opciones de estas
versiones y la 2007 y por eso se usan diferentes archivos de configuración. Incluso en un
mismo documento de Excel pueden convivir los dos archivos para evitar pequeños problemas
de configuración de las Cintas de Opciones y así podamos crear personalizaciones para ambos
casos. De momento, no os preocupéis por esto, ya os daré más detalles en los siguientes
artículos. Durante los artículos usaremos casi todo el rato archivos "customUI14.xml" que se
corresponden a las versiones 2010 y 2013. Bueno pues en esto consiste lo que vamos hacer:
En introducir dentro del documento de Excel un archivo
XMLllamado custoUI.xml o customUI14.xml, en el que están las personalizaciones que
queremos para la cinta de opciones de ese documento y desde estos archivos llamaremos al
código VBA que crearemos en Excel. ¿En qué nos puede ayudar el Custom UI Editor para
realizar este trabajo?

Bueno pues si no tendríamos este programa, habría que hacer todo el trabajo de forma manual.
Tendríamos que cambiar la extensión al archivo de Excel, descomprimirlo, crear la carpeta
customUI, en su interior crear el archivo XML, volver a comprimir todas las carpetas y archivos
y por último cambiar de nuevo la extensión a la del formato de Excel. Son muchos pasos y es
muy fácil confundirse. Con el Custom UI Editor será tan fácil como abrir el documento de
Excel e indicarle que queremos hacer una personalización a la Cinta de Opciones. Y a partir de
ahí "sólo" quedará escribir el código XML que definirá las modificaciones que queremos realizar
en el Custom UI Editor y el código VBA en Excel. No os preocupéis si no conocéis el lenguaje
XML que es muy sencillo.

Fijaros, vamos hacer una prueba, sin entrar en muchos detalles, eso lo dejamos para el
siguiente artículo. Crear un documento de Excel y guardarlo con el nombre de Prueba, por
ejemplo. A continuación abrir el Custom UI Editor, si todavía no lo habéis instalado hacerlo.

Custom UI Editor for Office.

Como podéis comprobar se abre un programa muy sencillo, parece un editor de textos. De
hecho es una especie de Bloc de Notas pero algo más avanzado. Ahora tenemos que abrir el
documento que acabamos de crear en Excel, el que hemos llamado Prueba. Lo podemos hacer
en el menú File o pulsando el botón con la carpeta amarilla.

Abrimos el documento de Excel.

Al abrir el documento, veréis que la pantalla se divide en dos. En la parte izquierda deberíamos
ver el archivo XML que contiene la personalización de la Cinta de Opciones y en la de la
derecha deberíamos ver el código XML que define la personalización. Pero como en este caso
no hay personalización, el documento lo acabamos de crear en Excel, no aparecen.

Custom UI Editor con el documento abierto.

Ahora, vamos a crear una ficha personalizada en la Cinta de Opciones del


documento Prueba. Cuando lo abramos de nuevo en Excel veremos que tiene una nueva ficha
con algunos botones en su interior. Es una ficha de ejemplo que se puede crear rápidamente
en el Custom UI Editor. Para hacerlo accedemos al menú Insert y dentro de Sample
XML seleccionamos Excel - A Custom Tab. El resto de opciones que tenemos en este menú
las comentaremos en los siguientes artículos.

Añadimos una ficha de ejemplo a la Cinta de Opciones.

Esto provocará que aparezca el archivo XML en la parte izquierda y en la derecha el código
XML que define la personalización de la Cinta de Opciones.

Ficha de ejemplo creada.

Ahora de momento no os voy a comentar nada sobre las líneas XML que se han creado,
simplemente vamos a ver el resultado. Cerramos el Custom UI Editor guardando los cambios y
abrimos de nuevo el documento en Excel.
Ficha de ejemplo creada.

Ahí la tenemos, una ficha nueva llamada Contoso, esto es un nombre ficticio de empresa que
suele utilizar Microsoft en sus ejemplos y documentaciones... En su interior la ficha tiene unos
grupos de botones ya creados. En este caso aparecen opciones disponibles en otras fichas de
Excel, pero en mis artículos también veremos cómo añadir nuestras propias utilidades o
herramientas.

Bueno, pues ya está, esto es todo lo que os quería contar en este artículo. En el siguiente
artículo dedicado a este tema ya empezaremos a crear nuestras propias fichas y nos
ensuciaremos las manos con el código XML y el VBA.

*Siguiente Artículo:*:

 08/08/2014: Cómo crear fichas en la Cinta de Opciones con XML y el Custom UI Editor.
Publicado por David Asurmendi en 0:01
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
Etiquetas: Curso Excel Avanzado, Curso Programación Excel, Custom UI Editor, customUI,Excel 2013. Excel
2010, Microsoft, Personalizar Cinta de Opciones, Personalizar Interface,Personalizar Ribbon Excel, UI, VBA, XML

14 comentarios:
1.

jfov5 de agosto de 2014, 21:58

Excelente trabajo. Gracias por todas tus enseñanzas


Responder
Respuestas

1.
David Asurmendi9 de agosto de 2014, 1:24
De nada!!!!!!!!!!!!

Saludos.
Responder
2.

Anónimo7 de agosto de 2014, 10:19

Muchas gracias. Impaciente por tu siguiente entrega :-)


Responder
Respuestas

1.
David Asurmendi9 de agosto de 2014, 1:24
Esta casi lista. En la noche del Domingo al Lunes la publicaré.

Saludos.
Responder

3.

Aitor Gana25 de agosto de 2014, 16:24

Muy buen trabajo


Responder
Respuestas

1.
David Asurmendi28 de agosto de 2014, 23:33
Gracias!!!!!!!!!!

Saludos.
Responder

4.

Aitor Gana25 de agosto de 2014, 16:34

Buenas tardes David

Recientemente he conocido tu página y Felicidades por el trabajo.

Estoy trabajando en con Excel 2007 en el que he definido una serie de Macros, unas
abren unos archivos y copian su contenido y lo cierran, otras anexan solo el
contenido nuevo. Otras son una consulta contra una base de datos de MySql y
finalmente otras que me dan unos Informes, bien pueden ser unas tablas dinámicas
como unos gráficos dinámicos.

Ahora estaba intentando ordenar todo este trabajo que he estado preparando de las
Macros, para ello he seguido tu vieo de la Ribbon Custom UI y bien me ha salido
perfecto.

Pero para sacar los informes y no liarme a botones quiero un DropDown donde
aparazcan como Ítem los nombres de los informes que tengo definidos y una vez
tenga esto darle a otro botón para Ejecutar la Macro del Informe correspondiente.

Buscando por la red he encontrado un ejemplo de esto pero no exactamente ya que


este coge los ítem del Dropdown de un rango de celdas
Range("A2;UltimaFilaEscrita).

Yo no quiero poner los Ítems en una Hoja quiero dárselos en un Array pero no me
sale.

El ejemplo que he encontrado es


Ron_DropDown.xlsm
Responder
Respuestas

1.
David Asurmendi28 de agosto de 2014, 23:41
Hola

Más adelante publicaré algún ejemplo que te puede servir, pero


ahora a mano no tengo nada preparado. Además es que no lo ponen
precisamente fácil para trabajar con los cuadros combinados.
Tendrás que esperar un poco.

Saludos.
Responder

5.

Marcos F. Jiménez10 de julio de 2016, 22:56

Cómo instalo el programa para modificar la barra de ribbon de excel.


Responder

6.

Excel Emprasarial21 de julio de 2016, 17:24

Hola buen día tengo una pregunta que agradeceria mucho si me ayudas. Si quiero
ocultar toda la cinta de opciones y dejar visible solo la pestaña de Custom UI Editor
como podria lograrlo.
Responder

7.

Excel Emprasarial21 de julio de 2016, 17:25

Hola buen día tengo una pregunta que agradeceria mucho si me ayudas. Si quiero
ocultar toda la cinta de opciones y dejar visible solo la pestaña de Custom UI Editor
como podria lograrlo.
Responder
Respuestas

1.
antonio perez perez1 de marzo de 2017, 16:30

amigo es muy fácil.


en archivo de Excel, vas a Opciones y aquí selecciones Personalizar
cinta de opciones
Veras que en la ventana de la derecha tienes todas las fichas,
Deselecciona todas las que no desees. Le das a Aceptar en la parte
de abajo y listo
Responder

8.

antonio perez perez28 de febrero de 2017, 15:59

como dar color a los grupos de fichas Ribbon?


Responder

9.
Salvador Sanchez Sanchez27 de septiembre de 2017, 5:25

Estimado David.

He visto tu trabajo de personalizar la ribbon por Youtube. Un trabajo muy bueno de


exelencia y he pasado la mayoría de mis macros personales a la ribbon. Quiero
hacerte algunas preguntas.

1.- Cuantos botones personalizados se pueden insertar en un grupo.

2.- Que tipo de macros son las que se deben de ejecutar a través de los botones.

3.- Esto porque hay algunas macros que funcionan bien cuando las ejecutas desde el
libro de macros personales y cuando las cargar en un botón dejan de funcionar o no
las reconoce y te manda errores.

Por Ejemplo: Macro para eliminar hipervinculos.

Sub EliminarVinculos()
On Error Resume Next
Do Until ActiveSheet.Hyperlinks.Count = 0
ActiveSheet.Hyperlinks.Delete
Loop
On Error GoTo 0
End Sub

Al pasarla a un botón ya no funciona.

Te agradeceré si nos apoyas a resolver estos problemas.

Gracias nuevamente.
Responder

También podría gustarte