El campo NOMBRE DE ARCHIVO le permite insertar el nombre del archivo del documento en el documento mismo. Si usa el modificador / p con el campo, obtiene no solo el nombre del archivo, sino también la ruta completa del archivo:

{ FILENAME /p }

Como puede imaginar, el nombre de la ruta puede ser bastante largo, dependiendo de cómo esté organizado su disco duro y dónde almacenó el documento. Por esta razón, es posible que desee elegir selectivamente qué niveles de la ruta se incluyen en lo que devuelve FILENAME. Por ejemplo, el siguiente puede ser el nombre completo de la ruta del documento:

C:\My Documents and Settings\Level1\Level2\Level3\Level4\Doc1.docx

Es posible que desee limitar los niveles de directorio que se muestran, como se muestra en estos dos ejemplos:

\Level2\Level3\Level4\Doc1.docx \Level1\Level2\Level3\Level4\Doc1.docx

Desafortunadamente, no hay forma de hacer esto con el campo FILENAME en sí; simplemente no incluye esa capacidad. La única solución es crear una macro que determine el nombre de la ruta e inserte los niveles deseados en el documento. Por ejemplo, la siguiente macro insertará, en el punto de inserción, el número deseado de niveles de directorio para el archivo actual:

Sub SelectPaths()

Dim sPath As String     Dim sName As String     Dim sFull As String     Dim sPart As String     Dim sMsg As String     Dim sTemp As String     Dim iLevels As Integer     Dim J As Integer

sPath = ActiveDocument.Path     If sPath = "" Then         MsgBox "Need to save before running this macro.", _           vbOKOnly, "This Document Not Saved"

Else         sPath = sPath & Application.PathSeparator         sName = ActiveDocument.Name         sFull = sPath & sName

sMsg = "This is the full path:" & vbCrLf         sMsg = sMsg & sFull & vbCrLf & vbCrLf         sMsg = sMsg & "How many levels do you want, counting "

sMsg = sMsg & "from right to left?"



sTemp = InputBox(sMsg)

iLevels = Val(sTemp)



sPart = ""

If iLevels > 0 Then             For J = Len(sFull) To 1 Step -1                 If Mid(sFull, J, 1) = Application.PathSeparator Then                     iLevels = iLevels - 1                     If iLevels = 0 Then                         sPart = Mid(sFull, J, 255)

Exit For                     End If                 End If             Next J         End If

Selection.TypeText (sPart)

End If End Sub

Si el documento no se ha guardado, la macro no se ejecutará. Funciona básicamente contando la cantidad de separadores de ruta (barras), comenzando al final de la ruta. Luego inserta solo la parte de la ruta desde ese punto en adelante.

El inconveniente de una macro como esta, por supuesto, es que no es dinámica, como lo son los campos. Simplemente inserta texto. Si luego cambia la ubicación del documento, o si cambia el nombre del documento, debe volver a ejecutar la macro para insertar el nuevo texto de ruta.

Si su razonamiento detrás de insertar solo una parte de la ruta es que la ruta es demasiado larga cuando se incluye en su totalidad, hay otro enfoque que podría tomar. ¿Por qué no simplemente reducir el tamaño en puntos de la parte de la ruta que no es importante? Por ejemplo, digamos que usa el campo NOMBRE DE ARCHIVO para insertar la ruta, y aparece así:

C:\My Documents and Settings\Level1\Level2\Level3\Level4\Doc1.docx

Si desea ocultar la parte a la izquierda del «Nivel 2», simplemente seleccione ese texto en los resultados del campo y déle formato con un tamaño de punto muy pequeño. Si hace que el tamaño del punto sea algo así como 6 o 7 puntos, la parte sin énfasis sigue siendo legible, pero la ruta completa no ocupa tanto espacio lineal en su documento. Si desea que la parte sin énfasis desaparezca esencialmente, puede establecer el tamaño de punto en 1 punto.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Esta sugerencia (13292) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de esta sugerencia para interfaz de menú anterior de Word aquí:

link: / word-Limiting_Directories_in_the_FILENAME_Field [Limitación de directorios en el campo FILENAME].