web analytics

Error de DLL DAO 3.6 en Access 2010 64bit

Si trabajamos con Microsoft Access 2010 en su versión de 64bit e intentamos cargar la referencia Microsoft DAO 3.6 Object Library (también pasará con la referencia Microsoft DAO 3.51 Object Library) nos dará error en la carga de la librería (me gusta mas llamarlo librería que biblioteca).

Por lo que he estado leyendo por varios sitios es un problema de que la dll de DAO 3.6 no está preparada para trabajar en 64bit, y por lo que parece no lo estará nunca, es precisamente en Office 2010 cuando existe una versión de 64bit por primera vez.

Leer mas…Error de DLL DAO 3.6 en Access 2010 64bit

Plantilla para controlar los cambios en un archivo Excel con VBA

Una vez me pidieron si era posible controlar los cambios que se realizan en un libro Excel sin que el usuario lo sepa, como siempre digo, es solo cuestión de tiempo, con Office y VBA se pueden hacer muchísimas cosas antes de llegar a un límite que difícilmente se alcanzará en un entorno ofimático normal, no hablamos de un ERP para gestionar un negocio de millones de euros ni de un videojuego de última generación, hablamos de ofimática, escribir, calcular y presentar, y para estos menesteres y para el común de los mortales las macros con VBA son más que suficiente.

Obviamente, Excel incorpora un sistema de control de cambios (p.e. aquí), pero además de ser más obvio para el usuario nos obliga a compartir el libro y nos puede limitar en ciertas funciones, pero por otro lado este método con VBA me provocó un problema importante y es que no se pueden deshacer los cambios, cada vez que se ejecuta código VBA la pila de deshacer (undo stack para los amigos) se vacía, y en este tipo de plantilla que se ejecuta VBA todo el rato es un problema, incluso los usuarios mas avezados se darán cuenta que algo sucede con la opción deshacer, desgraciadamente se tiene que decir aquello tan manido de:  “no es un bug es una feature“, hay soluciones más o menos completas para parchear esta característica que pasan por hacer un copia del estado del libro antes de ejecutar la macro, pero como tampoco me acababa de gustar y no tenia tiempo no lo programé.

Entonces hay que valorar que queremos, deshacer las cosas o secretismo, como en este caso se trataba más de investigar sobre el mal uso de un archivo Excel la opción fue hacerlo mediante VBA.

Leer mas…Plantilla para controlar los cambios en un archivo Excel con VBA

Recuperando el código VBA protegido de un archivo Excel 2003 con un Excel 2010

Llevaba un par de días buscando información para poder desbloquear un .xlsm que realicé hace ya un tiempo.

Lo de conocer la contraseña de desprotección de la hoja y el libro es trivial eso está más que explicado en cientos de sitios (como [1], [2] o [3]) y con una breve búsqueda lo encontramos, es tan sencillo como insertar una macro, pero ¿Y si no tenemos acceso al código VBA?

Mi problema era desproteger la contraseña que se introduce en el proyecto VBA, no podía ni acceder ni ver el código del archivo, había encontrado varios sitios en que lo explicaban (como [1], [2] o [3])  pero parecía no funcionar y algo tenía que ver que intentaba abrir un archivo .xlsm generado y protegido con Excel 2003 en un Excel 2010.

Leer mas…Recuperando el código VBA protegido de un archivo Excel 2003 con un Excel 2010

Plantilla de importación de datos de un sensor de visión OMRON FQ2

Hay veces en las que uno no dispone de las herramientas adecuadas para obtener información de manera eficiente y correcta y trabaja en base a suposiciones y sensaciones, es decir con criterios subjetivos, a falta de un sistema MES de adquisición de datos directamente en las líneas hay que aprovechar las cosas que ya hay para intentar conseguir algo de información del funcionamiento de la fábrica.

Tenemos instalada una cámara OMRON FQ2-D3X para detectar diversas anomalías de los productos que van saliendo de una de las máquinas de la línea de fabricación. La instalación de la cámara fue realizada en su momento por una tercera empresa, por tanto el conocimiento del software y el hardware era bastante bajo, parametrizar y ajustar la inspección y poca cosa más.

Leer mas…Plantilla de importación de datos de un sensor de visión OMRON FQ2

Plantilla Excel para los 5 porqués

Una de las cosas que siempre me dicen cuando explico el tema del Lean, TPM, MA y todo ese mejunje de acrónimos, es que todo es de sentido común, y así es y prueba de ello es el 5 porqués ¿Qué es de más sentido común que preguntarse por qué sucede algo? aunque para nuestra desgracia no es tan sencillo como eso y es fácil acabar en tal revoltijo de porqués y preguntas que ya no sabe uno ni que narices intentaba arreglar, lleva práctica saber cuando parar de preguntar porqués y no entrar en bucles infinitos.

Leer mas…Plantilla Excel para los 5 porqués

Importación de datos de consumo eléctrico de PowerStudio Scada a Excel (y II)

En mi post anterior me he quedado en esta cadena:

"http://192.168.1.54:8080/services/user/records.xml?var=" & _
Dispositivo & "." & vari & "?begin=" & FechaInicio & "?end=" & _
FechaFin & "?period=ALL" 

Veamos la construcción de esta llamada:

  • http://192.168.1.54:8080 Es la dirección del servidor donde se encuentra instalado el PowerStudio Scada, y el puerto 8080 donde enviaremos nuestra petición.
  • /services/user/records.xml? Según el Manual PowerStudio Scada esta petición nos devuelve los registros del dispositivo indicado, entre la fecha indicada y con la agrupación indicada que se definen en las siguientes variables:
    • Dispositivo: Es el nombre del dispositivo registrador (CVM) dentro del PowerScada.
    • vari: Es el tipo de medida que vamos a pedir (W,Wh,A,V,etc)
    • FechaInicio: Fecha inicial del periodo del cual queremos los datos.
    • FechaFin: Fecha final del periodo del cual queremos los datos.
    • period=ALL: agrupación de los datos que obtenemos.

Con todo esto hagamos un ejemplo y lo veremos más claro:

Leer mas…Importación de datos de consumo eléctrico de PowerStudio Scada a Excel (y II)

Importación de datos de consumo eléctrico de PowerStudio Scada a Excel (I)

Se puede decir que fué la primera vez que vi la necesidad de utilizar VBA de manera que mi trabajo fuera menos aburrido. Era un nuevo trabajo en una vieja empresa y, entre muchas otras tareas, debía extraer diariamente los datos de consumos eléctricos de manera que se supieran diariamente los ratios de consumo por unidades fabricadas.

Leer mas…Importación de datos de consumo eléctrico de PowerStudio Scada a Excel (I)

Y empezamos

Abro este blog con la intención de poner a disposición de todo el mundo las pequeñas herramientas de software que he ido creando a lo largo de mi vida laboral así como las diferentes cosas que he aprendido.

Especialmente referente a la creación de macros en Excel y Access así como otros temas interesantes que surgen en mi trabajo diario.

Y si quieres saber más Sobre Mi