Cuando trabaja con muchos documentos de Word, mantener nombres de archivo coherentes se convierte en un desafío. Es posible que necesite incluir fechas, códigos de proyecto, números de versión o iniciales del autor en cada nombre de archivo. Escribir estos datos manualmente cada vez provoca errores y pérdida de tiempo. Este artículo explica cómo usar los campos y macros integrados de Word para aplicar automáticamente una convención de nomenclatura de archivos específica al guardar un documento. Aprenderá a configurar una plantilla que inserte contenido dinámico, como la fecha actual o una propiedad personalizada del documento, directamente en el nombre del archivo.
Puntos clave: automatizar la nomenclatura de archivos en Word
- Quick Parts > Field > CreateDate o DocProperty: inserte contenido dinámico en su documento que pueda usarse como parte de un nombre de archivo.
- File > Save As con una entrada de AutoText personalizada: cree una estructura de nombre de archivo reutilizable que incluya partes estáticas y dinámicas.
- Macro de VBA vinculada al evento BeforeSave: cambie automáticamente el nombre y guarde el documento siguiendo su convención sin escribir manualmente.
Comprender la automatización de la convención de nomenclatura de archivos en Word
Word no tiene una función integrada que imponga una convención de nomenclatura de archivos específica en el momento en que se pulsa Guardar. El cuadro de diálogo Guardar como muestra el título del documento como nombre de archivo predeterminado, pero debe editarlo manualmente. Para automatizar esto, debe combinar varias herramientas de Word: campos para contenido dinámico, AutoText para bloques de texto reutilizables y macros para la automatización completa.
Una convención de nomenclatura de archivos suele incluir partes estáticas, como un código de proyecto, y partes dinámicas, como la fecha actual o un número de versión. Por ejemplo: PRJ2024_2025-03-21_v2.docx. Puede almacenar las partes estáticas en una propiedad personalizada del documento e insertar las partes dinámicas usando campos de Word. Luego, con una macro, puede ensamblar estas piezas en el nombre del archivo cada vez que guarde.
Requisitos previos para usar macros
Las macros requieren que habilite la pestaña Programador en Word. Vaya a File > Options > Customize Ribbon y marque la casilla Developer en el panel derecho. Además, las macros usan código VBA, por lo que debe guardar el archivo como un documento habilitado para macros (.docm) o como una plantilla (.dotm) si desea que la macro esté disponible en todos los documentos nuevos.
Pasos para crear una convención de nomenclatura de archivos reutilizable
El siguiente método usa una propiedad personalizada del documento y un campo para crear un nombre de archivo que puede copiar en el cuadro de diálogo Guardar como. Este enfoque funciona sin macros y es seguro para los usuarios que no pueden ejecutar código VBA.
- Agregue una propiedad personalizada del documento para el código de proyecto
Haga clic en File > Info > Properties > Advanced Properties. Vaya a la pestaña Custom. Escriba un nombre comoProjectCode. Establezca el Type en Text. Introduzca el valor, por ejemploPRJ2024. Haga clic en Add y luego en OK. - Inserte un campo que combine contenido estático y dinámico
Coloque el cursor donde desea que aparezca la estructura del nombre de archivo. Presione Ctrl+F9 para insertar un par de llaves de campo. Dentro de las llaves, escriba:DocProperty ProjectCode \ MERGEFORMAT. Presione F9 para actualizar el campo. Luego escriba un separador, como un guion bajo, e inserte otro campo: presione Ctrl+F9 y escribaCreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT. Presione F9 de nuevo. Su campo debería verse así:{ DocProperty ProjectCode \ MERGEFORMAT }_{ CreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT }. - Guarde el campo como una entrada de AutoText
Seleccione todo el resultado del campo (el texto que aparece después de actualizarlo). Presione Alt+F3. En el cuadro de diálogo Create New Building Block, escriba un nombre comoFileNameSkeleton. Elija AutoText como Gallery. Haga clic en OK. - Use la entrada de AutoText al guardar
Presione Ctrl+S para abrir el cuadro de diálogo Guardar como. Haga clic en el cuadro File name. Escriba un espacio y luego presione F3. Aparece la entrada de AutoTextFileNameSkeleton. Presione Entrar para insertar la estructura, luego edite el nombre de archivo según sea necesario y haga clic en Save.
Automatizar el nombre de archivo con una macro
Si desea que el nombre de archivo se genere automáticamente sin escribir nada manualmente, use una macro de VBA. Esta macro se ejecuta cada vez que guarda el documento. Lee la propiedad personalizada y la fecha actual, y luego establece el nombre de archivo en consecuencia.
- Abra el editor de VBA
Presione Alt+F11. En el Explorador de proyectos, haga doble clic en ThisDocument. Esto abre la ventana de código del documento actual. - Pegue el código de la macro
Copie el siguiente código en la ventana:Private Sub Document_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim projectCode As String Dim dateStr As String Dim baseName As String Dim fullName As String Dim docPath As String Dim doc As Document Set doc = ActiveDocument ' Read custom property On Error Resume Next projectCode = doc.CustomDocumentProperties("ProjectCode") On Error GoTo 0 If projectCode = "" Then projectCode = "NOCODE" ' Format current date dateStr = Format(Date, "yyyy-mm-dd") ' Build file name baseName = projectCode & "_" & dateStr & "_v1" ' If the document has never been saved, set the file name If doc.Path = "" Then If SaveAsUI Then ' The Save As dialog will appear; we set the suggested name ' This requires a workaround: we cannot set the dialog field directly ' Instead, we store the name in a variable for later use End If Else ' If already saved, rename and save docPath = doc.Path & "\" & baseName & ".docm" doc.SaveAs2 FileName:=docPath Cancel = True ' Prevent default save End If End Sub - Guarde y pruebe la macro
Cierre el editor de VBA. Guarde el documento como un documento habilitado para macros (.docm). Presione Ctrl+S. La macro se ejecuta y guarda el archivo con la convención de nomenclatura basada en la propiedad personalizada y la fecha actual.
Problemas comunes al automatizar la nomenclatura de archivos
La macro no se ejecuta cuando presiono Guardar
Las macros están deshabilitadas de forma predeterminada cuando se abre un documento desde Internet o desde un correo electrónico. Compruebe la configuración de seguridad: vaya a File > Options > Trust Center > Trust Center Settings > Macro Settings. Seleccione Enable all macros. También asegúrese de que el archivo esté guardado como .docm, no como .docx. Si la macro sigue sin ejecutarse, abra el editor de VBA y verifique que el código esté en el módulo ThisDocument del documento correcto.
El nombre de archivo contiene caracteres no válidos
Los nombres de archivo de Windows no pueden contener los siguientes caracteres: \ / : ? ” < > |. Si su propiedad personalizada o formato de fecha incluye alguno de estos, el método SaveAs2 fallará. Asegúrese de que su formato de fecha use solo guiones o guiones bajos. Por ejemplo, use yyyy-mm-dd en lugar de yyyy/mm/dd. Compruebe el valor de la propiedad personalizada en busca de caracteres no válidos antes de guardar.
La propiedad personalizada está vacía después de guardar
Las propiedades personalizadas del documento se almacenan en el propio documento. Si abre un documento que se guardó sin la propiedad, la macro usará el valor de reserva NOCODE. Para solucionarlo, agregue la propiedad personalizada de nuevo usando File > Info > Properties > Advanced Properties > pestaña Custom. Para las plantillas, agregue la propiedad en la plantilla para que todos los documentos nuevos la hereden.
Nomenclatura manual frente a macro automatizada: diferencias clave
| Elemento | Guardar como manual | Macro automatizada |
|---|---|---|
| Esfuerzo por guardado | Escribir o pegar el nombre de archivo cada vez | Cero escritura después de la configuración inicial |
| Tasa de errores | Alta, especialmente con fechas y códigos | Baja, formato coherente cada vez |
| Curva de aprendizaje | No se requiere ninguna | Requiere conocimientos de VBA o copiar código |
| Restricciones de seguridad | Ninguna | La macro debe estar habilitada, el archivo debe ser .docm |
| Flexibilidad | Puede cambiar el nombre libremente | La convención es fija; los cambios requieren editar el código |
Ahora puede guardar documentos de Word con una convención de nomenclatura de archivos coherente usando un enfoque manual basado en campos o una macro automatizada. Comience por definir su convención y agregar una propiedad personalizada del documento para la parte estática. Para un uso frecuente, configure la entrada de AutoText para poder insertar la estructura rápidamente. Si administra muchos documentos, la macro ahorra la mayor cantidad de tiempo. Como siguiente paso, explore el evento Document_Open para mostrar un cuadro de diálogo que permita al usuario elegir el número de versión o el código de proyecto antes de guardar.