Saltar al contenido

Agregar un campo de nombre de archivo sin extensión .doc en el encabezado del documento

Te recomendamos que pruebes esta resolución en un entorno controlado antes de enviarlo a producción, un saludo.

Solución:

Tu sentimiento es bastante correcto.

Insert > QuickParts > Field > FileName es el camino a seguir, pero como puede ver en la siguiente captura de pantalla, no tiene la opción de activar o desactivar la extensión del archivo.
texto alternativo


Mostrar o no mostrar (estilo de Shakespeare) la extensión depende únicamente de la configuración del Explorador de Windows para mostrar u ocultar las extensiones de archivo conocidas. Entonces, o cambias esa configuración o necesitas algún código.

Una Macro muy simple sería la siguiente:

Sub InsertCurrentFileName()
    Selection.InsertBefore Text:=Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
End Sub

Lo que hace es simplemente eliminar los últimos 4 caracteres del “Nombre de archivo string”por ejemplo, “.doc”: si guarda un “.docx”, el “.” se conservará. Además, esta macro se ejecutará una vez y deberá ejecutarla nuevamente cuando cambie el nombre del archivo.

¿Tal vez podría explicar un poco más lo que quiere lograr con tener el nombre del archivo en el encabezado del documento? ¿Está tratando de usar el nombre de archivo en el encabezado del documento para establecer alguna propiedad de PDF durante la conversión? ¿Por qué no utilizar el título del documento? ¿Necesita el nombre de archivo original en el PDF más adelante? ¿Por qué?

Dos páginas más para ayudarte con tu problema (ambas basadas en Macros…):

  • insertar nombre de archivo sin extensión .doc usando campos?
  • Insertar un nombre de archivo sin una extensión

agregar [Title] En vez de nombre del archivo
y tal vez agregar algunos de los Otros Propiedades del documento listado

De hecho, no existe la opción “solo nombre base” para el campo Nombre de archivo.

Largo plazo: solicitud de función

A largo plazo, realicé una solicitud de función con Microsoft en: https://office365.uservoice.com/forums/264636-general/suggestions/13860672-for-word-create-a-basename-only-field-option -por

Los invito a usted y a otras personas que visitan esta publicación a votar esa sugerencia.

Soluciones a corto plazo

Macro (código VBA)

Escribiendo un macrocomo ha sugerido @DennisG, es probablemente el trabajo más conveniente.

Propiedad personalizada

Pero es posible que desee evitar asociar cualquier macro con su documento de Word para evitar problemas de seguridad (por ejemplo, si distribuye su documento). Entonces, otra solución es crear una propiedad personalizada FileBaseName con un valor codificado “MyDocumentBaseName”:

Cree la propiedad personalizada FileBaseName y asígnele su valor:

  • Abra un documento en blanco en MS Word.
  • Guárdelo como “MyTempReport.docx”.
  • En el menú de MS Word con MyTempReport.docx abierto > Archivo [tab] > Información > Propiedades: haga clic en > Propiedades avanzadas… > Personalizado [tab] …
  • Escriba “Nombre”: “FileBaseName”; “Valor”: “MiInforme Temporal”.

Inserte la propiedad del documento personalizado, FileBaseNameen su documento:

  • Menú MS Word > Insertar [tab] > Texto [group] > Piezas rápidas > Campo…
  • En “Nombres de campo”, seleccione “DocProperty”.
  • Desde “Propiedades de campo” > “Propiedad”: seleccione “Nombre de base de archivo” > Aceptar.

Ahora debería tener “MyTempReport” insertado como un campo en su documento.

Limitaciones:

  • Si cambia el nombre de su archivo este no ser reflejado en tu FileBaseName campo. En su lugar, tendrá que cambiar manualmente el FileBaseName propiedad de Propiedades Avanzadas… (como arriba).
  • Tendrá que crear esta propiedad personalizada en cada documento en particular en el que la desee.

Reseñas y valoraciones

Recuerda algo, que tienes la opción de decir si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *