Imprimir página | Cerrar ventana

¿Será conflicto de versiones 2016 2010?

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84816
Fecha de impresión: 26/Marzo/2026 a las 19:24


Tema: ¿Será conflicto de versiones 2016 2010?
Publicado por: Marciana
Asunto: ¿Será conflicto de versiones 2016 2010?
Fecha de publicación: 11/Noviembre/2019 a las 23:45
Estimados
Desarrollé una app en Access 2016 que genera archivos excel. Lo instalo en una PC que tiene instalado El Office 2010 (no Pro).  Tengo, en mi app, las siguientes referencias:
Microsoft Access 16.0 Object Library
OLE Automation
Microsoft Excel 16.0 Object Library
Microsoft Office 16.0 Object Library
Microsoft ActiveX DataObject 6.1 Library

Al ejecutar en la PC donde instalé la app me da el error "...falta una referencia al archivo 'EXCEL.EXE versión 1.9 o la referencia es errónea."

Muchas gracias, Marciana



-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina



Respuestas:
Publicado por: xavi
Fecha de publicación: 12/Noviembre/2019 a las 00:06
Hola,

Creo que la versión 2010 es la 14.0 por lo que deberías referenciar esa librería. El problema es que, si vuelves a tocar la app desde tu máquina, la versión volverá a subir y deberás volver a cambiarla en el PC de versión 2010

¿Tienes posibilidad de eliminar cualquier referencia a Excel?

Yo me he acostumbrado a trabajar declarando como Object y obviando la librería de Excel para evitar los conflictos de versiones.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: emiliove
Fecha de publicación: 12/Noviembre/2019 a las 00:21
Hola Marciana

El problema es que:
office2007 le corresponde el 12
office2010 el 14
office2013 el 15
office2016, office2019 y office365 el 16

Tu quieres que encuentre una librería que todavía no a sido creada en 2010, pues le corresponde el 14 y tu le pones el 16. para solucionar el tema hay que programar en late Binding para solucionar el problema es decir usar el createobject en lugar de usar en referencias el Microsoft Excel 16.0 Object Librar, Xavi no hace mucho dio una excelente explicación al respecto y hasta decía que el usa primero el Early Binding (la referencia para usar el intelissense y la ayuda de Access y después la cambiaba a late Binding para no tener ningún problema con las referencias.

has una buena búsqueda que de seguro encuentras la información, por mientras lee esto:
https://peltiertech.com/Excel/EarlyLateBinding.html

PD: Ups... hablando de ti, me ganaste y por mucho
Saludos.


Publicado por: xavi
Fecha de publicación: 12/Noviembre/2019 a las 00:35
Publicado originalmente por emiliove emiliove escribió:

Xavi no hace mucho dio una excelente explicación al respecto

Gracias por lo de excelente.

Y "no hace mucho".... son 2 años (a no ser que lo haya vuelto a explicar recientemente)

http://www.mvp-access.com/foro/problemas-con-referencia-a-office-a-ms-office-14_topic83141.html" rel="nofollow - http://www.mvp-access.com/foro/problemas-con-referencia-a-office-a-ms-office-14_topic83141.html


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: emiliove
Fecha de publicación: 12/Noviembre/2019 a las 00:57
Smile Como pasa el tiempo, y si exactamente esa explicación decía.

Saludos.


Publicado por: Marciana
Fecha de publicación: 12/Noviembre/2019 a las 13:53
Gracias, primero leo lo que me sugieren y luego les cuento. M

-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina


Publicado por: Marciana
Fecha de publicación: 12/Noviembre/2019 a las 19:42
Perfecto!!
Cambié a Late binding y funcionó.
Aprendí este tema.
Gracias y gracias!! Marciana


-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina



Imprimir página | Cerrar ventana