sábado, 30 de junio de 2012

Curso Práctico Programación VBA Excel 2007: Últimos Detalles. Sesión 14.






Saludos!!!!!!!

Aquí estamos de nuevo, después de mucho tiempo sin publicar, por fin lo hago de nuevo para finalizar con las sesiones dedicadas al ejercicio práctico en VBA para Excel 2007. Llevo 5 días intentando acabarla, pero por una cosa u otra, me he encontrado con un montón de problemas y dificultades, de ahí el sobrenombre de "Sesión Maldita". Esta es la última sesión que dedicaremos a este ejercicio y en ella vamos a centrarnos en los siguientes detalles.

Empezaremos con detalles que quedaron pendientes de los botones que usamos para imprimir los informes. Para arreglarlos usaremos dos propiedades muy interesantes de los cuadros combinados, ListIndex y ListCount.

A continuación protegeremos la hoja Análisis para evitar que se puedan hacer modificaciones en esa hoja. Sera una protección muy sencilla para que conozcáis cómo funciona el sistema de bloqueo y veremos como algunas cosas que teníamos ya desarrolladas, dejarán de funcionar por proteger la hoja. Arreglaremos todos esos problemas. En esa hoja también desactivaremos la posibilidad de seleccionar celdas y de hacer clic con el botón secundario del ratón.

El siguiente paso será añadir un botón a la ficha personalizada que hemos ido creando a lo largo del curso, cuando pulsemos el botón se cerrará Excel. Veremos como algo que parece muy simple se complicará un poco más de lo esperado.

Seguiremos ocultando y desactivando algunas partes de la interface de Excel. Entre otras cosas ocultaremos todas las fichas de la cinta de opciones excepto la que hemos desarrollado durante el curso. También ocultaremos y desactivaremos muchas de las opciones que aparecen en el botón de Office. Todo esto lo haremos desde el Custom UI Editor.

Continuaremos añadiendo código para que cuando se cierre el documento se guaren los cambios automáticamente. Esta tarea es muy sencilla de realizar. Ya para finalizar, protegeremos el código que hemos desarrollado, el código VB, para evitar que cualquiera pueda entrar al editor y haga modificaciones. Con lo que vamos hacer, ni siquiera lo podrán ver.

Esto es lo que vamos hacer en esta sesión final. Se podría seguir añadiendo más funcionalidades sobre este ejercicio, pero esto es lo que tengo programado para el curso presencial y aquí acabaremos. De hecho, en los cursos presenciales casi nunca me suele dar tiempo a ver todo. Aquí sí!!!!


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 es habitual aquí tenéis los archivos necesarios para seguir la sesión. Si ya habéis realizado las sesiones anteriores no hace falta que los descarguéis.


También os dejo el enlace para descargar el programa "Custom UI Editor" con el que podemos personalizar la cinta de opciones. Esta herramienta no la pongo para descargar directamente, es de uso libre, pero prefiero que la descarguéis de la página de los creadores, aquí tenéis el enlace.



Aquí tenéis la información de los vídeos, enlaces para verlos y comentarlos en el foro del Blog.

  • Nombre: Curso Práctico Programación VBA Excel 2007: Últimos Detalles. Sesión 14.
  • Nivel:   Medio-Avanzado.
  • Duración Total: 43m 18s.
  • Duración Vídeo 1: 24m 43s.
  • Duración Vídeo 2: 18m 35s. 

Vídeo 1 de 2.

Vídeo 2 de 2.

Bueno, pues así ponemos punto y final a esta colección de vídeos. Como ya he comentado a través de Twitter ya estoy en el paro... otra vez. Esto significa que tendré más tiempo para el Blog, aunque estos primeros días estaré un poco ausente para reorganizarme un poco y disfrutar de las pocas cosas que voy a poder hacer de ocio este verano, la situación económica.... ya sabéis. Nada más, espero que os guste el punto y final... Dentro de poco os contaré en que me centraré los próximos meses del Blog ;)

24 comentarios:

  1. Saludos, como siempre y antes que nada, un agradecimiento por estas lecciones, ya la esperaba con ansias, saludos desde México.

    Atte. Leonel G.

    ResponderEliminar
    Respuestas
    1. De nada!!!!

      Estaba muy liado y no tenía tiempo, pero bueno ahora tengo unos meses por delante para retomar el Blog.

      Saludos.

      Eliminar
  2. David muchas gracias por este blog, espero que puedas seguir publicando estos videos tutoriales en los que aprendemos mucho....

    Felicidades!!!

    Saludos desde Nicaragua.

    ResponderEliminar
  3. Si tranquilos que sigo publicando. Esta semana y parte de la siguiente voy a preparar nuevas sesiones pero no puedo grabar. el jueves me voy a Madrid dos días y al volver a Pamlona son las fiestas de San Fermín.

    No hay dinero para celebraciones, pero como de momento estar en la calle es gratis, eso es lo qu e haremos, jejeje.

    Saludos.

    ResponderEliminar
  4. Hola David.

    Tengo una consulta. Fui siguiendo paso a paso las instrucciones del ejercicio desde la primera sesión, pero estaba trabajando con Excel 2010, todo iba bien, hasta que fue el momento de ocultar las opciones del la ficha Archivo.

    El programa Custom UI Editor For Microsoft Office, no funciono con Excel 2010, tal a como sucedió en el ejercicio.
    Mi pregunta es: ¿Debí elegir la opción para Excel 2010 y no la del 2007 tal como lo hiciste en el vídeo?.

    ¿ Podrías ayudarme a ocultar estas opciones con el programa Custom UI en Excel 2010?

    Gracias....

    Espero tu respuestas...

    ResponderEliminar
    Respuestas
    1. Ahora mismo no te lo puedo mirar porque no tengo instalado Excel 2010. Pero en principio si que hay que elegir en el Custom UI Editor la opción para la versión con la que tu trabajes. Esta semana a ver si pongo la versión 2010 y lo miro. Es que de memoria no me quiero arriesgar a decirte nada.

      Saludos.

      Eliminar
    2. Bueno, ya he instalado la versión 2010 y no había caído que no pueden funcionar igual. A ver, en la versión 2007 todas las opciones que oculto están en el botón de office y en la versión 2010 están en la ficha Archivo, luego no se hace de la misma manera. Tendrás que investigar un poco porque ahora a mano no tengo hecho nada de esto para la versión 2010, debo mirarlo.

      Saludos.

      Eliminar
  5. Hola David, estas sesiones de excel son geniales, aun estoy a los primeros pasos, pero me gustaria desarrolar un excel donde sera posible enviar mis informes automaticamente a traves de outlook, es muy complicado crear una macro que envie un excel a un determinato correo electronico?

    Gracias por tus clases

    ResponderEliminar
    Respuestas
    1. Utilizando Outlook desde EXcel con VBA se puede pero siempre te aparecerá el mensaje que indica que se esta intentando enviar un correo desde un programa externo y hasta donde yo se no se puede evitar de forma fácil. Otra manera es usando CDO. Si buscas en Google enseguida encontraras ejemplos, no tengo a mano algo hecho para ponerte, pero si que se puede hacer.

      Eliminar
  6. Un proyecto genial David Asurmendi O., un gran vídeo y agradeciéndote desde ya por el mismo, solo me queda una duda y es que pasaría si salta un error que como siempre digo cada proyecto por mas perfecto lo tiene, y es que éste me llevaría a la ventana de código y así romper con la contraseña que se le aplico, gracias por tu respuesta y saludos desde Perú

    ResponderEliminar
    Respuestas
    1. Gracias!!!!!!!!!

      Comprobado ahora mismo provocando un error en tiempo de ejecución por meter texto en una variable integer: Salta el error y en la ventana de descripción solo aparece activado el botón Finalizar.

      El botón depurar está desactivado luego no puedes entrar al código aunque salte el error.

      Saludos.

      Eliminar
    2. De todas la maneras aunque pasara eso, se podría controlar con On Error creando control de errores en todos los procedimientos y funciones del proyecto, así evitaríamos que en errores incontrolados puedan entrar al editor.

      Pero vamos, que a mi por ejemplo en ese error no me da la opción de entrar al editor. Es que sino esta contraseña no serviría para nada.

      Saludos.

      Eliminar
    3. Acabo de hacer otra prueba y cuando el código está dentro de un módulo si que deja pulsar el botón Depurar pero pide la contraseña. Parece que hay alguna diferencia dependiendo de donde esté el código situado y de que versión usemos, acabo de probar en la 2010 y en esta versión no aparece activado el botón.

      Saludos.

      Eliminar
  7. Oye porque no creas tutoriales de Custom UI Editor para office 2010. es muy interesante eso de las fichas y quitar fichas y opciones!!

    ResponderEliminar
  8. David, no tendras un manual de custom ui editor para modificar archios office?? es interesante. Si lo consigues publicalo para descargarlo.

    ResponderEliminar
    Respuestas
    1. Hola

      Pues no tengo, todo lo que se lo he sacado de Internet y navegando un poco en la documentación de Microsoft. Vídeos específicos de este tema no voy a crear pero cuando vuelva a publicar material de VBA en Excel y Access lo tocaré con más ejemplos.

      Saludos.

      Eliminar
  9. Gracias desde colombia, sos de mucha ayuda...

    ResponderEliminar
  10. Muy buenas noches.
    Señor Asurmendi, gracias por los videotutoriales.
    He seguido paso a paso el ejercicio práctico de vba en excel 2007 que cuenta con 14 sesiones, lo terminé pero con un pequeño detalle: cuando estoy editando la ultima parte con el custom, sobre el ocultar las opciones de "nuevo, abrir y guardar" del boton office e intento validar para ver si todo anda bien, me muestra el siguiente mensaje:

    El atributo 'visible' no es válido. El valor 'False' no es válido según su tipo de datos 'http://www.w3.org/2001/XMLchema:boolean' - La cadena 'False' no es un valor Boolean válido.

    Estoy trabajando en excel 2007

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. En XML se diferencia entre mayúsculas y minúsculas. No veo lo que has escrito tu en concreto, pero viendo el mensaje de error el problema es que has puesto el False con mayúsculas. Debería ser así:

      visible="false"

      Saludos.

      Eliminar
    2. Si señor, estaba incurriendo en ese error.
      Muchas gracias y que mi Dios le bendiga.

      Eliminar