|
Yo uso esta función. A ver si te vale.
Function MiraReferenciasVBA() Dim Ref As Reference 'Puede servir para cuando distribuyamos una aplicacion 'con referencias externas a funciones inmersas en: OCX,DLL, MDE, MDB...) 'que nosotros en el proyecto hemos referenciado desde una determinada ubicación 'local de nuestro PC y a la hora de ejecutar el programa el usuario, pueda dar errores 'por no tener dichas referencias o tenerlas en otra ubicacion distinta 'y de esta forma el usuario nos pueda avisar de esta contingencia. 'Esta función se puede poner en el formulario de inicio de la aplicación 'para avisar al usuario de este tema.
For Each Ref In References If Ref.IsBroken = False Then ' este msgbox e puramente informativo de las referencias que están OK ' y es para probar este código. 'MsgBox "Nombre de la Referencia: " & Ref.Name & vbCrLf _ ' & "En la ruta: " & Ref.FullPath & vbCrLf _ ' & "Versión de la Referencia: " & Ref.Major & "." & Ref.Minor, vbInformation + vbOKOnly, "Referencias en VBA" Else ' referencia rota MsgBox "Nombre de la Referencia rota:" & Ref.Name & vbCrLf _ & "Ruta Origina: " & Ref.FullPath & vbCrLf _ & "GUID completo de la Referencia: " & Ref.Guid, vbCritical + vbOKOnly, "AVISO: Servicio de mantenimiento del programa Tel:xxxxxxxxx." 'aquí la acción a seguir... 'Se podría poner ruta completa, mediante un dialogo de Windows e intentar referenciar de nuevo la referencia rota o bien abandonar la aplicacion. 'Recordar que el nombre y Path original de la referencia sería ref.FullPath If CrearNuevaReferencia(Ref.FullPath) = False Then MsgBox "No se ha podido regenerar la referencia.", vbCritical + vbOKOnly, "Aviso" Else MsgBox "La Referencia, " & Ref.FullPath & " se ha establecido correctamente.", vbExclamation + vbOKOnly, "Correcto" End If End If Next Ref End Function
Saludos
|