registered pudo outdated not mscomctl mscomct2 mscal missing invalid error descargar correctly component cargar 0x8002801c interop activex ms-office user-controls ocx

interop - pudo - Construyendo un OCX con VS.NET?



mscomctl ocx vb6 (4)

¿Qué pasó con OCX? ¿Ya no es posible crear con las últimas herramientas?

Necesito crear un control ActiveX que pueda ubicar en documentos de Word, PowerPoint y Excel. Si utilizo VS.NET, solo puedo crear una DLL de UserControl con COM Interop, pero no creo que pueda agregar eso usando la caja de herramientas "Más controles" de la pestaña Desarrollador de PowerPoint.

¿Qué harías?


Utilice un compilador de C ++ o VB que pueda orientar el código nativo + ActiveX.


Sí, aún puedes crearlos. Pero no puede crear un OCX con un lenguaje .NET. Necesita ser C ++ no administrado (o VB). Las DLL con interoperabilidad COM que puede crear en C # o VB.NET son solo objetos .NET que se invocan a través de CCW.


Aún puede usar .NET para crear componentes ActiveX. Sin embargo, esto es experimental y no recomendado. Si aún quieres probarlo, puedes encontrar información en el blog de Andrew Whitechapel:

Uso de controles administrados como controles ActiveX

Pero como dice Andrew:

Esto parece funcionar bien para Excel (con las pruebas muy limitadas que he hecho), en parte funciona con PowerPoint, pero falla miserablemente con Word.

Entonces, si no quiere pasar mucho tiempo depurando errores extraños, le recomendaría usar el viejo VB 6.0 y Visual Studio 6.0 para compilar sus componentes ActiveX.


Dependiendo de lo que necesite hacer, un complemento puede ser más apropiado que un OCX, y ciertamente puede crearlos con .NET. También debe ver las herramientas de Visual Studio para Office, no como un reemplazo directo para un OCX, sino solo para comprender las nuevas capacidades. Puede mostrarte nuevos enfoques de los problemas que estás resolviendo con un OCX.