¿Están deshabilitados los controles ActiveX?

Resuelto Mike Pedersen asked hace 10 años • 11 respuestas

Tengo hojas de cálculo de Excel que usan casillas de verificación ActiveX para controlar cierta actividad.

Hoy empezaron a dar errores. Un colega que estaba ejecutando una versión posterior de Excel, pero todavía funcionaba en mi computadora, me alertó sobre esto.
Noté que había actualizaciones de Windows, así que hice la actualización. Ahora ya no funciona en mi computadora.

Ya no puedo marcar las casillas de ActiveX.

No puedo agregar un control ActiveX a ninguna hoja de trabajo, ni siquiera a una hoja de trabajo nueva.
me sale un cuadro de diálogo de error

No se puede insertar el objeto.

Puedo agregar controles de formulario, pero no ActiveX.

Mike Pedersen avatar Dec 11 '14 04:12 Mike Pedersen
Aceptado

En otros foros, aprendí que se debe a la actualización de MS y que una buena solución es simplemente eliminar el archivo MSForms.exd de cualquier subcarpeta Temp en el perfil del usuario. Por ejemplo:

C:\Users\[user.name]\AppData\Local\Temp\Excel8.0\MSForms.exd

C:\Users\[user.name]\AppData\Local\Temp\VBE\MSForms.exd

C:\Users\[user.name]\AppData\Local\Temp\Word8.0\MSForms.exd

Por supuesto, la aplicación (Excel, Word...) debe estar cerrada para poder eliminar este archivo.

John W. avatar Dec 10 '2014 23:12 John W.

Aquí está la mejor respuesta que encontré en el blog del equipo de soporte de Microsoft Excel.

Para algunos usuarios, los controles de formularios (FM20.dll) ya no funcionan como se esperaba después de instalar las actualizaciones de diciembre de 2014. Se experimentan problemas en ocasiones, como cuando abren archivos con proyectos VBA existentes usando controles de formularios, intentan insertar un control de formularios en una nueva hoja de trabajo o ejecutan software de terceros que pueden usar estos componentes.

Es posible que reciba errores como:

"No se puede insertar el objeto" "La biblioteca de objetos no es válida o contiene referencias a definiciones de objetos que no se pudieron encontrar"

Además, es posible que no pueda usar o cambiar las propiedades de un control ActiveX en una hoja de trabajo o que reciba un error al intentar hacer referencia a un control ActiveX como miembro de una hoja de trabajo mediante código. Pasos a seguir después de la actualización:

Para resolver este problema, debe eliminar las versiones almacenadas en caché de las bibliotecas de tipos de control (archivos extensores) en la computadora cliente. Para hacer esto, debe buscar en su disco duro archivos que tengan la extensión de nombre de archivo ".exd" y eliminar todos los archivos .exd que encuentre. Estos archivos .exd se volverán a crear automáticamente cuando utilice los nuevos controles la próxima vez que utilice VBA. Estos archivos extensores estarán bajo el perfil del usuario y también pueden estar en otras ubicaciones, como las siguientes:

%appdata%\Microsoft\forms

%temperatura%\Excel8.0

%temperatura%\VBE

Solución de secuencias de comandos:

Debido a que este problema puede afectar a más de una máquina, también es posible crear una solución de secuencias de comandos para eliminar los archivos EXD y ejecutar la secuencia de comandos como parte del proceso de inicio de sesión mediante una política. El script que necesitaría debería contener las siguientes líneas y debería ejecutarse para cada USUARIO, ya que los archivos .exd son específicos del USUARIO.

del %temp%\vbe\*.exd

del %temp%\excel8.0\*.exd

del %appdata%\microsoft\forms\*.exd

del %appdata%\microsoft\local\*.exd

del %appdata%\Roaming\microsoft\forms\*.exd

del %temp%\word8.0\*.exd

del %temp%\PPT11.0\*.exd

Paso adicional:

Si los pasos anteriores no resuelven su problema, se puede probar otro paso (consulte la advertencia a continuación):

  1. En una máquina completamente actualizada y después de eliminar los archivos .exd, abra el archivo en Excel con permisos de edición.

    Abra Visual Basic para Aplicaciones > modifique el proyecto agregando un comentario o edición de algún tipo a cualquier módulo de código > Depurar > Compilar VBAProject.

    Guarde y vuelva a abrir el archivo. Prueba de resolución. Si se resuelve, proporcione este proyecto actualizado a usuarios adicionales.

    Advertencia: Si este paso resuelve su problema, tenga en cuenta que después de implementar este proyecto actualizado para los otros usuarios, estos usuarios también deberán aplicar las actualizaciones en sus sistemas y eliminar los archivos .exd.

Si esto no resuelve su problema, puede ser un problema diferente y es posible que sea necesario solucionarlo más.

Microsoft está trabajando actualmente en este problema. Mire el blog para obtener actualizaciones.

Fuente

Jan Moritz avatar Dec 12 '2014 22:12 Jan Moritz