Visual Basic para Aplicaciones - Cargar DLL a una macro excel VBA

Life is soft - evento anual de software empresarial
 
Vista:

Cargar DLL a una macro excel VBA

Publicado por carlos2018 (4 intervenciones) el 27/09/2018 10:49:03
Buenos dias,

Estoy intentando integrar una DLL que me ha proporcionado un proveedor a una macro de calculo y selección de componentes.

La manera de cargar la DLL es la siguiente (la funcion StartJob es a la que necesito llamar y sus variables de entrada y salida estan predefinidas):

Public Declare PtrSafe Function StartJob Lib "C:\Users\Carlos\Desktop\DLL_Calculo_Componentes\calcdll.dll" (ByRef p1 As Double, ByRef p2 As Variant, ByRef p3 As Variant) As Boolean

Pero cuando intento ejecutar, me aparecen los siguientes errores, dependiendo de si introduzco la ruta completa o solo el nombre de la dll:

-Se ha producido el error '48' en el tiempo de ejecución: Error al cargar Biblioteca DLL
-Se ha producido el error '53' en el tiempo de ejecución: Archivo no encontrado

Ya he revisado la ruta que indico en la instrucción declare y es la correcta, y la dll esta en esa carpeta.
La dll se encuentra en el mismo directorio que la macro que la utiliza.
Utilizo la instrucción "ptrsafe" ya que mi sistema esta en 64 bits.
No permite cargar la DLL via "herramientas -> referencias ".

¿A que se puede deber el error?
¿Hay alguna otra manera de cargar la DLL?

Un saludo y muchas gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha aumentado su posición en 6 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Cargar DLL a una macro excel VBA

Publicado por Ismael (2 intervenciones) el 19/10/2018 13:24:11
Hola,

Puede ser que por el mismo motivo que no te deja cargar la referencia desde herramientas no te funcione cargarla desde código.
Hay librerías que dependen de otros componentes, puede que esa librería que estás intentando añadir necesite de algún otro componente que éste es llamado en 32 bits, y puede que ahí esté el problema, no halla ese componente de 32 bits porque en tu sistema no está, ya que has comentado que es de 64 bits.
Otra opción es que te pongas el office de 32 bits si tan necesario es ese complemento, porque tu estarás usando VBA7 y el complemento que estás usando requiere vba.
1
2
3
4
5
#If VBA7 Then 
Declare PtrSafe Sub...
#Else 
Declare Sub...
#EndIf

No se si te será de alguna utilidad.

Un Saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar DLL a una macro excel VBA

Publicado por carlos2018 (4 intervenciones) el 19/10/2018 13:32:06
Hola,

He estado en contacto con el proveedor de la DLL, y esta funciona correctamente en sistemas de 64 bits, así que el problema por ahí no viene...

El problema es que al proveedor la dll si que le funciona, y a mi sigue dándome el mismo error.... "archivo no encontrado"

Hemos revisado las "referencias" que tenemos cargadas ambos y son las mismas.

¿Que mas cosas puedo revisar? yo creo que el problema viene de alguna librería que tiene el instalada en su sistema y yo no, o algo similar

Muchas gracias y un saludo!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar