Solución: Excel elimina vbaProject.bin y borra las macros de archivos XLSM
Recientemente tuve un problema con Microsoft Excel 365 que inicialmente parecía estar relacionado con archivos dañados, restricciones de seguridad o bloqueo de macros.
Cada vez que abría un archivo .xlsm, Excel mostraba un mensaje indicando que había encontrado errores y que debía reparar el archivo. Al revisar el registro de reparación aparecía lo siguiente:
Parte quitada: Parte /xl/vbaProject.bin. (Visual Basic para Aplicaciones (VBA))
Después de la reparación, el archivo abría normalmente, pero todas las macros habían desaparecido.
El problema no era simplemente que las macros estuvieran bloqueadas
Es importante diferenciar ambos casos.
Cuando Excel bloquea o deshabilita una macro, el código VBA continúa almacenado dentro del archivo, pero Excel impide su ejecución.
En este caso ocurría algo diferente: Excel eliminaba durante la reparación el archivo interno:
/xl/vbaProject.bin
Este componente contiene el proyecto de Visual Basic para Aplicaciones (VBA), por lo que al eliminarlo desaparecen las macros del libro.
Pruebas realizadas
Antes de encontrar la solución real probé diferentes alternativas:
Desbloquear el archivo desde Propiedades → Desbloquear.
Revisar la configuración de macros en el Centro de confianza.
Copiar el archivo fuera de Dropbox.
Abrirlo desde el Escritorio.
Probar diferentes archivos .xlsm.
Revisar que VBA estuviera instalado.
Reparar Microsoft Office.
Probar archivos que anteriormente funcionaban correctamente.
El problema continuaba.
También abrí exactamente el mismo archivo en otro computador con Office 2019. Después de desbloquearlo desde Propiedades, el archivo abrió correctamente y las macros funcionaron.
Esto permitió descartar que los archivos estuvieran dañados.
La prueba definitiva
Finalmente creé un archivo completamente nuevo en Excel 365 e incluí una macro sencilla.
La macro funcionó perfectamente mientras el archivo permanecía abierto.
Sin embargo:
Guardé el archivo como .xlsm.
Cerré Excel.
Volví a abrir el archivo.
Excel volvió a mostrar el error.
El registro indicaba nuevamente que había eliminado /xl/vbaProject.bin.
Esto confirmó que el problema estaba ocurriendo con cualquier archivo que contuviera VBA, incluso con archivos creados desde cero en el mismo computador.
La solución
El problema se solucionó modificando una configuración regional de Windows.
Paso a paso
Cerrar completamente Excel.
Abrir el Panel de control de Windows.
Entrar en:
Reloj y región → Región
Seleccionar la pestaña:
Administrativo
Hacer clic en:
Cambiar configuración regional del sistema
Buscar la opción:
“Beta: Usar Unicode UTF-8 para la compatibilidad de idioma en todo el mundo”
Si está activada, desmarcarla.
Aceptar los cambios.
Reiniciar completamente Windows.
Después del reinicio, abrir nuevamente un archivo .xlsm original que todavía conserve las macros.
En mi caso, después de desactivar esta opción y reiniciar el computador, Excel volvió a abrir correctamente los archivos .xlsm y las macros funcionaron normalmente.
Advertencia importante
Si Excel muestra el mensaje indicando que ha reparado el archivo y eliminado:
/xl/vbaProject.bin
no es recomendable guardar esa versión sobre el archivo original.
Después de la reparación, Excel ya ha eliminado el proyecto VBA, por lo que al guardar se puede sobrescribir el archivo original con una versión que ya no contiene las macros.
Lo recomendable es trabajar siempre con una copia o recuperar el archivo original antes de volver a probarlo.
¿Fue provocado por una actualización de Windows?
En mi caso, el problema apareció después de cambios recientes en el computador, por lo que inicialmente sospeché de una actualización de Windows o Microsoft 365.
Sin embargo, no tengo evidencia suficiente para afirmar que una actualización específica haya sido la causa.
Lo que sí pude confirmar es que desactivar la opción experimental UTF-8 de la configuración regional de Windows solucionó completamente el problema.
Además, existen otros reportes en Microsoft Q&A en los que usuarios con el mismo error de /xl/vbaProject.bin lograron solucionarlo modificando esta misma configuración regional.
El problema tampoco parece ser exclusivo de Microsoft 365: existen reportes anteriores en los que usuarios de otras versiones de Office consiguieron solucionarlo de la misma manera.
Resumen
Si Excel muestra:
“Parte quitada: Parte /xl/vbaProject.bin. (Visual Basic para Aplicaciones (VBA))”
y los archivos .xlsm pierden sus macros al abrirlos, antes de asumir que el archivo está dañado o reinstalar Office vale la pena revisar:
Panel de control → Reloj y región → Región → Administrativo → Cambiar configuración regional del sistema
y desactivar:
Beta: Usar Unicode UTF-8 para la compatibilidad de idioma en todo el mundo
Después se debe reiniciar Windows.
En mi caso, esta fue la solución definitiva.
Solución: Excel elimina vbaProject.bin y borra las macros de archivos XLSM
Recientemente tuve un problema con Microsoft Excel 365 que inicialmente parecía estar relacionado con archivos dañados, restricciones de seguridad o bloqueo de macros.
Cada vez que abría un archivo .xlsm, Excel mostraba un mensaje indicando que había encontrado errores y que debía reparar el archivo. Al revisar el registro de reparación aparecía lo siguiente:
Parte quitada: Parte /xl/vbaProject.bin. (Visual Basic para Aplicaciones (VBA))
Después de la reparación, el archivo abría normalmente, pero todas las macros habían desaparecido.
El problema no era simplemente que las macros estuvieran bloqueadas
Es importante diferenciar ambos casos.
Cuando Excel bloquea o deshabilita una macro, el código VBA continúa almacenado dentro del archivo, pero Excel impide su ejecución.
En este caso ocurría algo diferente: Excel eliminaba durante la reparación el archivo interno:
/xl/vbaProject.bin
Este componente contiene el proyecto de Visual Basic para Aplicaciones (VBA), por lo que al eliminarlo desaparecen las macros del libro.
Pruebas realizadas
Antes de encontrar la solución real probé diferentes alternativas:
Desbloquear el archivo desde Propiedades → Desbloquear.
Revisar la configuración de macros en el Centro de confianza.
Copiar el archivo fuera de Dropbox.
Abrirlo desde el Escritorio.
Probar diferentes archivos .xlsm.
Revisar que VBA estuviera instalado.
Reparar Microsoft Office.
Probar archivos que anteriormente funcionaban correctamente.
El problema continuaba.
También abrí exactamente el mismo archivo en otro computador con Office 2019. Después de desbloquearlo desde Propiedades, el archivo abrió correctamente y las macros funcionaron.
Esto permitió descartar que los archivos estuvieran dañados.
La prueba definitiva
Finalmente creé un archivo completamente nuevo en Excel 365 e incluí una macro sencilla.
La macro funcionó perfectamente mientras el archivo permanecía abierto.
Sin embargo:
Guardé el archivo como .xlsm.
Cerré Excel.
Volví a abrir el archivo.
Excel volvió a mostrar el error.
El registro indicaba nuevamente que había eliminado /xl/vbaProject.bin.
Esto confirmó que el problema estaba ocurriendo con cualquier archivo que contuviera VBA, incluso con archivos creados desde cero en el mismo computador.
La solución
El problema se solucionó modificando una configuración regional de Windows.
Paso a paso
Cerrar completamente Excel.
Abrir el Panel de control de Windows.
Entrar en:
Reloj y región → Región
Seleccionar la pestaña:
Administrativo
Hacer clic en:
Cambiar configuración regional del sistema
Buscar la opción:
“Beta: Usar Unicode UTF-8 para la compatibilidad de idioma en todo el mundo”
Si está activada, desmarcarla.
Aceptar los cambios.
Reiniciar completamente Windows.
Después del reinicio, abrir nuevamente un archivo .xlsm original que todavía conserve las macros.
En mi caso, después de desactivar esta opción y reiniciar el computador, Excel volvió a abrir correctamente los archivos .xlsm y las macros funcionaron normalmente.
Advertencia importante
Si Excel muestra el mensaje indicando que ha reparado el archivo y eliminado:
/xl/vbaProject.bin
no es recomendable guardar esa versión sobre el archivo original.
Después de la reparación, Excel ya ha eliminado el proyecto VBA, por lo que al guardar se puede sobrescribir el archivo original con una versión que ya no contiene las macros.
Lo recomendable es trabajar siempre con una copia o recuperar el archivo original antes de volver a probarlo.
¿Fue provocado por una actualización de Windows?
En mi caso, el problema apareció después de cambios recientes en el computador, por lo que inicialmente sospeché de una actualización de Windows o Microsoft 365.
Sin embargo, no tengo evidencia suficiente para afirmar que una actualización específica haya sido la causa.
Lo que sí pude confirmar es que desactivar la opción experimental UTF-8 de la configuración regional de Windows solucionó completamente el problema.
Además, existen otros reportes en Microsoft Q&A en los que usuarios con el mismo error de /xl/vbaProject.bin lograron solucionarlo modificando esta misma configuración regional.
El problema tampoco parece ser exclusivo de Microsoft 365: existen reportes anteriores en los que usuarios de otras versiones de Office consiguieron solucionarlo de la misma manera.
Resumen
Si Excel muestra:
“Parte quitada: Parte /xl/vbaProject.bin. (Visual Basic para Aplicaciones (VBA))”
y los archivos .xlsm pierden sus macros al abrirlos, antes de asumir que el archivo está dañado o reinstalar Office vale la pena revisar:
Panel de control → Reloj y región → Región → Administrativo → Cambiar configuración regional del sistema
y desactivar:
Beta: Usar Unicode UTF-8 para la compatibilidad de idioma en todo el mundo
Después se debe reiniciar Windows.
En mi caso, esta fue la solución definitiva.