jueves, 1 de marzo de 2018

Cinta personalizada (Ribbon)

Un trabajo profesional requiere también de una imagen más profesional que una simple hoja de Excel. Y una de las opciones es crear nuestra propia cinta de opciones o Ribbon, personalizandola con grupos y botones más acorde al contenido de nuestra aplicación.

Aquí veremos varias alternativas:

Modelo 1- Agregar un menú personalizado dentro de los de Excel. De modo predeterminado se aloja al final de las fichas de Excel salvo que le indiquemos otra ubicación como en este ejemplo donde la alojé al inicio.


Modelo 2- Crear una cinta personalizada omitiendo las fichas de Excel. En este modelo ya podemos observar  una serie de fichas, algunas con botones y otras con listas desplegables.

Modelo 3- Uso de un menú personalizado donde se inhablitan opciones o grupos según el usuario que esté trabajando en la aplicación.


Modelo 4- Uso de un menú personalizado ocultando grupos completos según el usuario que esté trabajando en la aplicación.


Para crear nuestra propia cinta necesitaremos de:

a- un editor que nos permita escribir el código necesario. Utilizaremos el llamado OfficeCustomUIEditor que se podrá descargar de modo gratuito desde la Web (hay varios sitios para descargarla, sino pueden hacerlo desde aquí )

b- La galería de imágenes de Office (OfficeIconsGallery - opcional.*)

c- Una carpeta con iconos a gusto para insertar en la cinta (opcional. *)

* La galería de imágenes de Office contiene gran cantidad de iconos que los podemos utilizar sin necesidad de contar con una carpeta personal de imágenes. Se asumen ya incluídas en la aplicación Excel. Desde aquí pueden descargar un pequeño Excel que las contiene. Allí mismo dejo las instrucciones de cómo elegir las que irán en la cinta a crear.

Para otros botones algo más personales habrá que buscar iconos en formato PNG. Recomiendo ubicarlos en una misma subcarpeta para tener un fácil acceso a la hora de insertarlos. 
Los nombres de los archivos PNG deben ser cortos y sin espacios. Si fuese necesario tendrán que renombrarlos antes de utilizarlos en el editor CustomUI.

En el siguiente video se muestra el paso a paso para crear la cinta según los distintos modelos presentados al inicio de esta nota.


A continuación  un resumen de los principales detalles a tener en cuenta:

1- Una vez descargado el editor CustomUI se procederá a instalarlo. Es liviano y no ofrece ninguna dificultad. Al ejecutarlo se verá una ventana sencilla con pocas herramientas:

2- Abrimos el libro donde vayamos a agregar nuestra cinta personalizada. Una vez abierto insertaremos el Office2010 Custom para versiones 2010 y posteriores. De lo contrario insertaremos el Office 2007 Custom. 

3- Desde el mismo menú Insert, opción Sample XML, vamos a elegir Custom Tab lo que nos dará como resultado un código bien simple que será el punto de partida para crear nuestra cinta.

4- A esta altura ya debemos tener diseñada la aplicación en cuanto a tareas a realizar: Cómo se van a agrupar los controles, los textos que se van a mostrar en cada grupo, si las opciones se van a presentar de modo lineal o como lista desplegable y qué imágenes se asociarán a cada botón u opción.

RECIÉN ENTONCES SE COMENZARÁ A PROGRAMAR LA CINTA EN EL EDITOR CUSTOM UI.

Este punto es importante, porque los controles se numeran según el orden en que se presentan. Agregar a continuación alguna opción que hemos olvidado hará que tengamos que hacer un cambio en los nombres de los botones y eventualmente de las macros asociadas..

5- Si vamos a utilizar iconos de la galería de Office, abriremos el Excel con la galería y al final del menú Desarrollador (o Programador) encontraremos varias galerías. Tomaremos nota del nombre de las imagenes elegidas.

El código se puede redactar en un txt y luego copiarlo en el Custom o desarrollarlo directamente aquí en el Editor. 
Si observamos el modelo básico, prestaremos atención a las siguientes instrucciones:
  • Si la instrucción startFromScratch está en false el menú que vayamos a crear se mostrará como uno más junto con los que presenta la cinta de Excel (modelo 1). 

       





Para ubicarlo al inicio del resto de las pestañas, agregaremos la instrucción insertBeforeMso e indicando el nombre de la pestaña, en este caso antes de Inicio.
          <tab id="DbMacros" insertBeforeMso="TabHome" label="Mi Aplicación">

          Si dejamos la instrucción startFromScratch en True será el único menú presente (modelo 2)
  • A continuación agregaremos los grupos y sus botones siguiendo este esquema:    
  • Cada grupo que se abre con <group debe ser cerrado con </group> 
  • Cada botón que se abre con  <button id= debe ser cerrado con   />
  • Las imágenes de la Galería de Office se insertan como imageMso= , en cambio las que insertemos como Png serán con image=
  • Al finalizar con todos los grupos se cerrarán las instrucciones iniciales siguiendo este orden:
                     </tab >
                   </tabs >
                 </ribbon >
               </customUI >


6 - Necesitamos insertar también las imágenes personales, es decir aquellas que hemos agregado con la instrucción image=
Si las tenemos en una misma carpeta podremos seleccionarlas todas juntas para insertarlas en un solo movimiento.
Podemos verificar si están todas abriendo el desplegable. Con clic derecho sobre algún nombre nos permitirá removerlo.



7 - Al finalizar probaremos si todo se encuentra bien estructurado y redactado ejecutando el botón que se observa en imagen siguiente. 

Si recibimos esta respuesta es que nuestro programa está correctamente desarrollado, sino se nos indicará en qué línea se presentó algún error.

8 - Por otra parte, desde el Editor VBA de nuestro libro procederemos a revisar las macros de cada botón para verificar que los nombres sean los correctos en las instrucciones onAction.
Recordemos que las subrutinas deben llevar el texto: control As IRibbonControl

Por ejemplo:      Sub MacroInicio(control As IRibbonControl)
                            Sheets("Menu").Select
                            End Sub

9- Una vez todo correcto procederemos a Guardar.... o Cerrar y nos dará la opción de guardar.

Probaremos nuestro Excel . Si necesita algún cambio volveremos al Custom. Recordar que recién podremos guardar los cambios en este editor una vez que hayamos cerrado nuestro Excel. 

VIDEO  N° 4.

Descargar el archivo con ejemplos de las 2 entradas del tema Ribbon desde aquí.









4 comentarios:

  1. Respuestas
    1. Hola. Tendrás que buscar el OfficeCustomUIEditor para tu versión Office (es posible que el del enlace ya no esté disponible). Sdos!

      Borrar
  2. Gracias por comentarlo. Te invito a mirar también los videos N° 5, 52 y 61 de mi canal. Estos 2 últimos aptos para Office de 64 bits. Sdos!

    ResponderBorrar