Limitación de directorios en el campo FILENAME (Microsoft Word)
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]
.