Tengo algunas hojas de cálculo de Excel que usan casillas de verificación ActiveX para controlar cierta actividad. Funcionaron recientemente pero hoy empezaron a dar errores. Un colega me alertó de esto, pero todavía estaba funcionando en mi computadora. Verifiqué su versión de Excel con la mía y la suya era más nueva. Noté que había nuevas actualizaciones de Windows, así que hice la actualización. Después de aplicar las actualizaciones pendientes, ahora ya no funciona en mi computadora. Ya no puedo marcar las casillas de verificación de ActiveX y, como parte del intento de depuración, parece que ya ni siquiera puedo agregar un control ActiveX a ninguna hoja de trabajo, ni siquiera a una nueva hoja de trabajo. Aparece un cuadro de diálogo de error que dice "No se puede insertar el objeto". (Todavía puedo agregar controles de formulario, pero no ActiveX). ¿Alguien más está experimentando esto después de una actualización reciente? ¿Alguna sugerencia?
Gracias,
Miguel
Respuestas:
De otros foros, he aprendido 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 eliminar este archivo.
fuente
Aquí está la mejor respuesta que he encontrado en el Blog del equipo de soporte de Microsoft Excel
Fuente
fuente
Fue KB2553154 . Microsoft necesita lanzar una solución. Como desarrolladores de aplicaciones de Excel, no podemos ir a todas las computadoras de nuestros clientes y eliminar archivos de ellas. Se nos culpa por algo que Microsoft causó.
fuente
Soy un desarrollador de Excel y definitivamente sentí el dolor cuando esto sucedió. Afortunadamente, pude encontrar una solución cambiando el nombre de los archivos MSForms.exd en VBA incluso cuando Excel se está ejecutando, lo que también puede solucionar el problema. Los desarrolladores de Excel que necesiten distribuir sus hojas de cálculo pueden agregar el siguiente código VBA a sus hojas de cálculo para que sean inmunes a la actualización de MS.
Coloque este código en cualquier módulo.
La subrutina RenameMSFormsFiles intenta cambiar el nombre de los archivos MSForms.exd en las carpetas
C:\Users\[user.name]\AppData\Local\Temp\Excel8.0\
yC:\Users\[user.name]\AppData\Local\Temp\VBE\
a MSForms - Copy.exd.Luego, llame a la subrutina RenameMSFormsFiles al comienzo del evento Workbook_Open.
La hoja de cálculo intentará cambiar el nombre de los archivos MSForms.exd cuando se abra. Obviamente, esta no es una solución perfecta:
Al menos por ahora, los desarrolladores de Excel pueden continuar distribuyendo su trabajo con esta solución alternativa hasta que Microsoft publique una solución.
He publicado esta solución aquí .
fuente
Con Windows 8.1 no pude encontrar ningún archivo .exd usando la búsqueda de Windows. Por otro lado, un comando cmd
dir *.exd /S
encontró el único archivo en mi sistema.fuente
Los consejos en KB y superiores no funcionaron para mí. Descubrí que si un usuario de Excel 2007 (con o sin la actualización de seguridad; no estoy seguro de las circunstancias exactas que causan esto) guarda el archivo, el error original regresa.
Descubrí que la forma más rápida de reparar el archivo nuevamente es eliminar todo el código VBA. Salvar. Luego reemplace el código VBA (copiar / pegar). Salvar. Antes de intentar esto, primero elimino los archivos .EXD, porque de lo contrario, aparece un error al abrir.
En mi caso, no puedo actualizar / actualizar a todos los usuarios de mi archivo de Excel en varias ubicaciones. Dado que el problema vuelve después de que algunos usuarios guardan el archivo de Excel, tendré que reemplazar el control ActiveX con otra cosa.
fuente
Instrucciones simplificadas para usuarios finales. Siéntase libre de copiar / pegar lo siguiente.
A continuación, le indicamos cómo solucionar el problema cuando surja:
Es posible que deba esperar hasta que se produzca el problema para que esta solución funcione. Aplicarlo prematuramente (antes de que Windows Update se instale en su sistema) no ayudará.
fuente
La mejor fuente de información y actualizaciones sobre este problema que pude encontrar es en los blogs de TechNet »El blog del equipo de soporte de Microsoft Excel (como se mencionó):
Los controles de formulario dejan de funcionar después de las actualizaciones de diciembre de 2014 (actualizado el 10 de marzo de 2015)
En marzo de 2015, se lanzó una revisión además de las instrucciones manuales y de reparación automática, y también está disponible en Windows Update.
La última actualización y corrección de Microsoft: 3025036 Error "No se puede insertar el objeto" en una solución de Office personalizada de ActiveX después de instalar la actualización de seguridad MS14-082
Información general sobre el problema:
Soluciones manuales y adicionales:
fuente
Finalmente encontré esta respuesta en el KB oficial de Microsoft:
http://support.microsoft.com/kb/3025036/EN-US
No hay información nueva aquí que la que tenemos en respuestas anteriores, pero al menos reconoce que Microsoft está al tanto del problema.
fuente
Sé que ya se han publicado muchas respuestas para esto, pero ninguna de las respuestas funcionó de forma independiente para mi sitio. Así que esto es lo que funcionó para mí:
Paso 1: desinstale las siguientes actualizaciones: KB2920789, KB2920790, KB2920792, KB2920793, KB2984942, KB2596927
Paso 2: Oculte estas actualizaciones para que no se instalen en reinicios posteriores
Paso 3: Elimine la carpeta Excel8.0 de C: \ Users \ <> \ AppData \ Local \ Temp
Paso 4: Reinicie la estación de trabajo (también me aseguraría de que los KB mencionados anteriormente no se apliquen inadvertidamente)
fuente
Quiero dar una respuesta que funcionó como lo único para mí (me doy cuenta de que podría ser el único en algún momento). Tenía en una macro que estaba llamando usando la cinta. Tenía el siguiente código:
No sabía que arrojaba un error, así que estaba desconcertado y probé todo aquí. El botón simplemente dejó de funcionar y no pude hacerlo funcionar. Cuando noté el error y lo corrigí a:
Empezó a funcionar de nuevo. Absolutamente extraño si me preguntas, pero tal vez ayude a alguien que estaba tan desesperado como yo.
fuente