Escribiste una macro en el Editor de Visual Basic, guardaste tu documento y, al reabrirlo, descubriste que el módulo VBA ha desaparecido por completo. Esto ocurre cuando guardas un archivo que contiene código VBA como archivo .docx. El formato .docx no puede almacenar macros, por lo que Word elimina silenciosamente todos los módulos durante la operación de guardado. Este artículo explica por qué Word elimina el código VBA de los archivos .docx, cómo recuperar tu módulo perdido si aún no has cerrado el documento y cómo prevenir el problema guardando en el formato correcto .docm.
Conclusiones clave: Prevención de la pérdida de módulos VBA al guardar documentos de Word
- Archivo > Guardar como > Tipo de archivo > Documento habilitado para macros de Word (docm): El único formato de archivo que conserva los módulos VBA en Word
- Archivo > Opciones > Guardar > Guardar archivos en este formato > Documento habilitado para macros de Word (docm): Cambia el formato de guardado predeterminado a .docm para evitar guardados accidentales como .docx
- Ctrl + Z inmediatamente después de guardar como .docx: Deshaz la operación de guardado para recuperar el módulo VBA antes de cerrar el documento
Por qué guardar como .docx elimina los módulos VBA
Word utiliza tres formatos de archivo principales que difieren en el contenido que pueden almacenar. El formato .docx es el formato estándar predeterminado introducido en Office 2007. Está diseñado para almacenar texto, imágenes, tablas y formato. El formato .docx no admite macros VBA, controles ActiveX ni controles de formulario. El formato .docm es idéntico a .docx en estructura, excepto que incluye un contenedor especial habilitado para macros que contiene proyectos VBA. El formato .doc más antiguo también admite macros.
Cuando eliges Archivo > Guardar como y seleccionas Documento de Word (docx) como tipo, Word verifica si el documento contiene código VBA. Si lo contiene, Word muestra un cuadro de diálogo de advertencia que dice: “El documento no se puede guardar porque contiene macros, controles ActiveX u otro código que no se puede guardar en un documento sin macros.” El cuadro de diálogo ofrece dos opciones: Guardar como documento sin macros o Cancelar. Si haces clic en Guardar como documento sin macros, Word elimina todos los módulos VBA, módulos de clase y módulos de formulario del documento antes de escribir el archivo. Esta acción es irreversible una vez que se cierra el archivo.
La eliminación no es un error. Es intencional para evitar que los usuarios distribuyan accidentalmente archivos habilitados para macros en entornos que bloquean los archivos .docm. Sin embargo, muchos usuarios hacen clic en la advertencia sin leerla, o guardan habitualmente como .docx y no notan la advertencia. El resultado es un archivo guardado sin código y sin forma de recuperar el módulo del propio archivo .docx.
Pasos para recuperar un módulo VBA después de guardar como .docx
Si guardaste el documento como .docx pero aún no lo has cerrado, puedes recuperar el módulo inmediatamente. Si cerraste el documento después de guardarlo, el módulo se pierde permanentemente de ese archivo y debes restaurarlo desde una copia de seguridad.
Recuperar el módulo antes de cerrar el documento
- Presiona Ctrl + Z inmediatamente
Esto deshace la operación de guardado. El documento vuelve a su estado anterior, que aún contiene los módulos VBA. Puedes verificarlo presionando Alt + F11 para abrir el Editor de Visual Basic. - Presiona F12 para abrir Guardar como
No uses Ctrl + S. El cuadro de diálogo Guardar como te permite elegir el formato correcto. - Cambia el tipo de archivo a Documento habilitado para macros de Word (docm)
En el cuadro de diálogo Guardar como, haz clic en el menú desplegable Tipo de archivo y selecciona Documento habilitado para macros de Word (docm). Elige un nombre de archivo y una ubicación, luego haz clic en Guardar. - Cierra y vuelve a abrir el archivo .docm
Presiona Alt + F11 para confirmar que el módulo VBA está presente. El árbol de módulos en el Explorador de proyectos debe mostrar el módulo bajo el nombre del proyecto.
Restaurar el módulo desde una copia de seguridad
Si cerraste el documento después de guardarlo como .docx, el módulo se pierde de ese archivo. Revisa estas ubicaciones para encontrar una copia de seguridad:
- Archivo > Información > Administrar documento > Recuperar documentos no guardados
Es posible que Word tenga una copia guardada automáticamente que aún contenga el módulo. Esto solo funciona si se produjo un guardado automático antes del guardado como .docx. - Busca un archivo .asd en la carpeta de recuperación automática
Ve a Archivo > Opciones > Guardar y anota la ubicación de archivos de recuperación automática. Abre esa carpeta en el Explorador de archivos y busca archivos con el nombre de tu documento y extensión .asd. Abre cualquier candidato en Word y revisa el Editor de VBA. - Restaurar desde una versión anterior en Historial de archivos o OneDrive
Si tienes habilitado el Historial de archivos o el archivo estaba almacenado en OneDrive, haz clic derecho en el archivo .docx en el Explorador de archivos, selecciona Propiedades, ve a la pestaña Versiones anteriores y abre una versión anterior que se haya guardado como .docm.
Cómo cambiar el formato de guardado predeterminado a .docm
Para evitar guardados accidentales como .docx en el futuro, cambia el formato de archivo predeterminado a .docm. Esto afecta a todos los documentos nuevos.
- Abre Archivo > Opciones
Haz clic en Archivo en la cinta de opciones y luego haz clic en Opciones en la parte inferior del panel izquierdo. - Ve a la categoría Guardar
En el cuadro de diálogo Opciones de Word, haz clic en Guardar en la barra lateral izquierda. - Cambia el formato de archivo predeterminado
Bajo Guardar documentos, encuentra el menú desplegable etiquetado Guardar archivos en este formato. Selecciona Documento habilitado para macros de Word (docm) de la lista. - Haz clic en Aceptar
Todos los documentos nuevos creados con Ctrl + N ahora se guardarán como .docm de forma predeterminada. Los documentos existentes se guardan en su formato original a menos que lo cambies manualmente.
Si Word aún muestra una advertencia al guardar como .docm
Es posible que veas una advertencia de seguridad al abrir un archivo .docm desde una ubicación no confiable. Esto es normal. El archivo aún contiene el módulo VBA. Para habilitar las macros, haz clic en Habilitar contenido en la barra de seguridad amarilla debajo de la cinta de opciones. Si el módulo no aparece incluso después de habilitar el contenido, es posible que el archivo se haya guardado como .docx en algún momento y el módulo se eliminó antes de que cambiaras el formato.
Word no advierte antes de eliminar módulos
Algunos usuarios informan que Word no muestra el cuadro de diálogo de advertencia de macros antes de guardar como .docx. Esto puede ocurrir si el proyecto VBA está protegido con contraseña o si el documento se guardó mediante una macro o complemento que omite el cuadro de diálogo. En estos casos, el módulo se elimina sin ninguna notificación. La única salvaguarda es guardar siempre como .docm cuando tengas la intención de conservar las macros.
Un archivo .docx no se puede convertir de nuevo a .docm con el módulo
Simplemente renombrar la extensión del archivo de .docx a .docm no restaura el módulo VBA. El archivo .docx no contiene los datos del proyecto VBA. Debes volver a crear el módulo desde cero o restaurarlo desde una copia de seguridad. Para evitar esto, siempre mantén una copia de seguridad del archivo .docm antes de probar o distribuir una versión .docx.
Formatos de documento de Word: Comparación de retención de módulos VBA
| Elemento | .docx | .docm |
|---|---|---|
| Almacena módulos VBA | No | Sí |
| Almacena controles ActiveX | No | Sí |
| Almacena controles de formulario | No | Sí |
| Formato predeterminado en Word 2010 y versiones posteriores | Sí | No |
| Se abre en Word Online | Sí | No |
| Muestra advertencia antes de eliminar macros | Sí | No aplica |
| Se puede renombrar a .docm para recuperar macros | No | No aplica |
Ahora puedes identificar y solucionar la causa de los módulos VBA faltantes después de guardar en Word. Siempre guarda los documentos habilitados para macros como .docm. Si accidentalmente guardas como .docx, presiona Ctrl + Z inmediatamente antes de cerrar el archivo. Para cambiar el formato de guardado predeterminado, ve a Archivo > Opciones > Guardar y selecciona Documento habilitado para macros de Word (docm). Mantén una copia de seguridad de tu archivo .docm antes de distribuir una versión .docx a otros.