BannerAnuncios

jueves, 29 de enero de 2015

Actualizar las Opciones de un Cuadro Combinado de la Cinta de Opciones en Tiempo de Ejecución.

Curso: Personalizar la UI de
Excel con XML y VBA.
Formato:
Vídeo/Tutorial.
Archivos necesarios:Personal v0.04.xlsm
Anterior Vídeo/Tutorial:Cargar un Cuadro...
Acceso a los vídeos 
en Youtube:
Volvemos con los ComboBox o Cuadros Combinados de la Cinta de Opciones de Excel, para en esta ocasión explicar cómo podemos actualizar las opciones que muestran en su interior. En concreto veremos como podemos cambiar las opciones que se muestran en un ComboBox mientras estamos trabajando en un documento, es decir en Tiempo de Ejecución. En la sesión anterior explique algo parecido, pero que se limitaba solo a la primera vez que se accedía al cuadro combinado. Es decir, cargábamos en tiempo de ejecución las opciones que iba a mostrar el cuadro combinado, la primera vez que se accedía a él. Lo que os explico en esta sesión, funcionará en todo momento. Es una sesión muy larga, pero creo que merece mucho la pena por lo que os voy a explicar sobre los Cuadros Combinados de la Ribbon y por todo el trabajo que vamos a realizar con objetos de Excel

Para la explicación voy a seguir usando el ejemplo de los trabajadores, un ejemplo en el que se podían aplicar filtros para mostrar los trabajadores de una determinada población. En esta sesión añadiremos lo necesario para que en el cuadro combinado que usamos para filtrar, se añadan las nuevas poblaciones que se rellenen en la hoja que contiene los datos de los trabajadores. Ese va ser, el objetivo de la sesión, conseguir añadir opciones al cuadro combinado en tiempo de ejecución.

En realidad parte del trabajo ya lo tenemos realizado de la sesión anterior y el código que hay que escribir relacionado con la Ribbon es muy poco. Pero para dejar todo bien engranado habrá que realizar mucho trabajo con los objetos de Excel y entre otras cosas veremos como obtener Registros Únicos con Filtros Avanzados, como Eliminar y Copiar Hojas... En definitiva mucho trabajo que se hace habitualmente en Excel, pero desde el lado del programador, desde VBA.

Incluso para acabar, la sesión veremos como ordenar alfabéticamente las opciones del Cuadro Combinado, que como todo lo relacionado con la Ribbon veréis que tiene "truco". En realidad aunque queda mal decirlo, ni se pueden actualizar las opciones de un cuadro combinado de la Ribbon, ni se pueden ordenar... Pero como os digo, siempre hay "trucos" que nos permiten conseguir lo que queremos. Como os dije en la sesión anterior, cogeros una hora de vuestro tiempo y tomároslo con calma. Para realizar los pasos que veréis en el vídeo os podéis descargar el siguiente documento de Excel que voy a utilizar en el vídeo:

Como siempre aquí tenéis los enlaces para ver los dos vídeos desde el Blog, espero que os gusten:

  • Nombre: Actualizar las Opciones de un Cuadro Combinado de la Cinta de Opciones en Tiempo de Ejecución.
  • Versión de Excel: ES/Español.
  • Audio: Español.
  • Subtítulos: Español.
  • Duración Total Vídeos: 49m 19s.

Vídeo 1 de 2.

Vídeo 2 de 2.

Nada más por esta semana. Creo que de momento voy a parar un par de semanas con este tema para recuperar otros temas que tengo abandonados...

miércoles, 7 de enero de 2015

Cargar un Cuadro Combinado o ComboBox de la Cinta de Opciones de Excel en Tiempo de Ejecución, usando VBA y XML.

Curso: Personalizar la UI de
Excel con XML y VBA.
Formato:
Vídeo/Tutorial.
Archivos necesarios:Personal v0.03.xlsm
Anterior Vídeo/Tutorial:Filtrar Datos usan...
Acceso a los vídeos 
en Youtube:
Seguimos con otra sesión más dedicada a los ComboBox o Cuadros combinados que podemos crear en la Cinta de Opciones, utilizando XML y VBA. En esta ocasión os voy a explicar otra vez como crear un ComboBox. Pero en lugar de hacer todo el trabajo desde el código XML, el contenido del Cuadro Combinado lo vamos a crear en Tiempo de Ejecución. Es decir, en lugar de crear items en el código XML, en lugar de crear opciones fijas... Vamos a crear items en tiempo de ejecución con código VBA, vamos a crear opciones dinámicamente. Para la explicación, vamos a utilizar el ejemplo de los filtros aplicados desde un ComboBox de la Ribbon, pero ahora las poblaciones y opciones que aparecían en el cuadro combinado, las cargaremos desde una hoja de Excel y desde código. Al inicio del vídeo os explico todo con más detalle.

Principalmente os voy a explicar los atributos de un ComboBox que permiten cargar sus opciones en tiempo de ejecución. Son tres: getItemCount, getItemLabel y getItemID. Estos tres atributos permiten llamar a procedimientos de VBA que serán los encargados de crear las opciones del combo. De nuevo, el que espere un acceso directo y sencillo a un control de la Cinta de Opciones, que se olvide. Es un trabajo bastante laborioso el que hay que hacer, pero creo que merece mucho la pena por el resultado que se consigue.

Debo aclarar, que en esta sesión os explico como cargar las opciones que estarán preparadas para el primer acceso al cuadro combinado, para la primera vez que se use. En la siguiente sesión, haremos las modificaciones necesarias para actualizar el cuadro combinado automáticamente mientras estamos trabajando en el documento que contiene la modificación de la Ribbon que estamos creando en el ejemplo. No hay que escribir mucho más código para conseguirlo, pero era demasiado contenido para una sola sesión, demasiados conceptos.

Ya os digo que en mi opinión es una sesión muy interesante, reservaros una hora de vuestro tiempo para seguirla y seguro que enseguida se os empezarán a ocurrir ideas para aplicar en vuestros documentos. Para realizar los pasos que veréis en el vídeo os podéis descargar el siguiente documento de Excel que voy a utilizar en el vídeo:

Como siempre aquí tenéis los enlaces para ver los dos vídeos desde el Blog, espero que os gusten:

  • Nombre: Cargar un Cuadro Combinado o ComboBox de la Cinta de Opciones en Tiempo de Ejecución, usando VBA y XML.
  • Versión de Excel: ES/Español.
  • Audio: Español.
  • Subtítulos: Español.
  • Duración Total Vídeos: 35m 06s.

Vídeo 1 de 2.

Vídeo 2 de 2.

Nada más por esta semana. A ver si poco a poco voy cogiendo ritmo estable de publicaciones...

*Siguiente Sesión*:

jueves, 1 de enero de 2015

¡Feliz Año 2015!



¡Feliz año 2015!

Esperemos que este nuevo año, mejore el anterior y todos tengamos lo que deseamos. Para los Reyes Magos, volverán las publicaciones... ;)