Programatic access to the Microsoft Office Visual…

Bueno, el post de hoy no es necesariamente de los temas que quisiera hablar, pero dada las circunstancias y el tiempo que me tomo encontrar la solución, quería compartir con uds. esto por si tienen el mismo problema.

Como saben estoy tratando de combinar tecnologías de Microsoft en mis soluciones, y ahora me toco meter a VSTO con vs2008 (porque recién tuve un requerimiento que tenia que ver con Excel directamente) y me tope con mi primer problema:

“Programatic access to the Microsoft Office Visual Basic for Applications project System could not be enabled”.

como bien lo dice el titulo (lo puse agrede para quienes lo busquen :p)
error1

Como sabrán también no me gusta mucho solucionar el tema por solucionar, siempre me gusta saber el porque.. y esa es la razón de este post…

Para empezar debemos tener en cuenta que Office esta construido en base a las tecnologías que Microsoft saco con COM+, es decir no es administrado (no .net), para que funcione VSTO el framework se comunica con los componentes de Office (en mi caso con el Excel Object Model 2007, si desean aprender mas de eso –> http://www.packtpub.com/article/microsoft-office-excel-programming-using-vsto) y así interactuar bajo .net (el tema es un poco mas complicado que esto pero no es el objetivo de este post).

Y como Uds. sabrán han habido muchos problemas para sus aplicaciones com+, yo lo tuve especialmente con el tema de compatibilidad (la bendita compatibilidad binaria!!!!), entonces por ahi fui con este tema.

Primero busque en la red y existen algunas soluciones como esta –> http://blogs.msdn.com/charles_sterling/archive/2007/02/21/programmatic-access-to-the-microsoft-office-visual-basic-for-applications-project-system-could-not-be-enabled.aspx , y no me funciono, luego instale service packs, reinstale visual studio, reinstale office y nada de nada….

Entonces busque algunos limpiadores (luego de instalar y desinstalar mucho en mi maquina) y encontré uno muy bueno que me sirvió para otras cosas :p pero igual les paso el dato: Windows Installer CleanUp Utility –> http://support.microsoft.com/default.aspx?scid=kb;en-us;290301

Bueno después de todo esto y verificar realmente mis ensamblados, me di cuenta que tenia ensamblados de office 2003!!!!, eso quiere decir que realmente había un problema de compatibilidad entre 2003 y 2007 con vsto de vs2008 (PIAs de Office)

Microsoft does not guarantee that the Office PIAs will be backwardly compatible or that the various versions of the Office PIAs can be run side-by-side in the same instance of an Office application. Office XP managed code add-ins must be built against the Office XP PIAs. The Office 2003 managed code add-ins must be built against the Office 2003 PIAs. The Office 2007 managed code add-ins must be built against the Office 2007 PIAs. Therefore, if you build an add-in solution that you intend to use with several versions of Office, Microsoft recommends that you build a version of your add-in for each version of Office that you intend to support.”

mas explicaciones y mejores que la mia :p –>

Conclusión –> Instale office 2003 y le hice upgrade a 2007, con ello se soluciono mi problema y ya estoy apunto de terminar otra parte de la solución 🙂 que seguro mas adelante les estaré comentando…

Hasta la próxima…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *