Cómo guardar un documento de Word con una convención de nomenclatura de archivos específica
🔍 WiseChecker

Cómo guardar un documento de Word con una convención de nomenclatura de archivos específica

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.

ADVERTISEMENT

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.

  1. 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 como ProjectCode. Establezca el Type en Text. Introduzca el valor, por ejemplo PRJ2024. Haga clic en Add y luego en OK.
  2. 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 escriba CreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT. Presione F9 de nuevo. Su campo debería verse así: { DocProperty ProjectCode \ MERGEFORMAT }_{ CreateDate \@ "yyyy-MM-dd" \ MERGEFORMAT }.
  3. 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 como FileNameSkeleton. Elija AutoText como Gallery. Haga clic en OK.
  4. 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 AutoText FileNameSkeleton. 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.

  1. 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.
  2. 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
    
  3. 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.

ADVERTISEMENT

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.

ADVERTISEMENT