Cuántas veces hemos visto/sufrido que al compartir ficheros con macros con compañeros con la suite de Office de diferentes versiones y/o necesidades, libros de trabajo que ayer funcionaban perfectamente, hoy depuran errores simples donde antes no lo hacían... o sencillamente salta un error tipo: No se puede encontrar proyecto o librería.
Es el gran problemas de los fallos con las Referencias de los proyectos VB.
Normalmente, cuando la experiencia te lo indica, accedemos manualmente al proyecto de VB > menú Herramientas > Referencias y buscamos librerías con errores (FALTA-MISSING o cualquier otro mensaje extraño).
Manualmente desmarcamos esa librería y aceptamos.. para posteriormente marcar la que entendamos debía estar seleccionada...
Recuerda que habitualmente son temas de versión.
Hoy veremos una alternativa mediante programación para verificar que todo está correcto.
MUY importante que la librería:
Microsoft Visual Basic for Applications Extensibility 5.3 library
esté habilitada.
Igualmente importante, para este caso y siempre en general, es que esté habilitada la opción de Excel:
Confiar en el acceso al modelo de objetos de proyectos VB
que se encuentra en el centro de confianza.
Puedes activarlo rápidamente desde la ficha Programador > grupo Código > botón Seguridad Macros
En un módulo estándar del libro incluimos el siguiente procedimiento:
El resultado en mi caso dispuesto en la ventana de inmediato:
Es el gran problemas de los fallos con las Referencias de los proyectos VB.
Normalmente, cuando la experiencia te lo indica, accedemos manualmente al proyecto de VB > menú Herramientas > Referencias y buscamos librerías con errores (FALTA-MISSING o cualquier otro mensaje extraño).
Manualmente desmarcamos esa librería y aceptamos.. para posteriormente marcar la que entendamos debía estar seleccionada...
Recuerda que habitualmente son temas de versión.
Hoy veremos una alternativa mediante programación para verificar que todo está correcto.
MUY importante que la librería:
Microsoft Visual Basic for Applications Extensibility 5.3 library
esté habilitada.
Igualmente importante, para este caso y siempre en general, es que esté habilitada la opción de Excel:
Confiar en el acceso al modelo de objetos de proyectos VB
que se encuentra en el centro de confianza.
Puedes activarlo rápidamente desde la ficha Programador > grupo Código > botón Seguridad Macros
En un módulo estándar del libro incluimos el siguiente procedimiento:
Sub CheckReferencias() Dim vbProj As VBProject Dim Refs As Reference 'TRabajamos sobre el Proyecto de VB de nestro libro de trabajo Set vbProj = ThisWorkbook.VBProject 'recorremos las referencias/librerías existentes For Each Refs In vbProj.References 'Verificamos que no haya referencias en FALTA (o rotas) If Refs.IsBroken = False Then 'llevamos la info a la ventana de inmediato Debug.Print Refs.Name & vbTab & Refs.Description 'quita referencia si está rota 'vbProj.References.Remove Refs 'carga nueva referencia 'vbProj.References.AddFromFile "E:\Excelforo\TestFiles\RefMe.dot" End If Next Debug.Print "Fin recorrido" End Sub
El resultado en mi caso dispuesto en la ventana de inmediato:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.