Il campo FILENAME consente di inserire il nome del file del documento nel documento stesso. Se usi l’opzione / p con il campo, ottieni non solo il nome del file, ma anche il percorso completo del file:

{ FILENAME /p }

Come puoi immaginare, il nome del percorso può diventare piuttosto lungo, a seconda di come è organizzato il tuo disco rigido e dove hai archiviato il documento. Per questo motivo, potresti voler scegliere selettivamente quali livelli del percorso sono inclusi in ciò che FILENAME restituisce. Ad esempio, il seguente potrebbe essere il percorso completo del documento:

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

Potresti voler limitare i livelli di directory visualizzati, come mostrato in questi due esempi:

\Level2\Level3\Level4\Doc1.doc \Level1\Level2\Level3\Level4\Doc1.doc

Sfortunatamente, non è possibile farlo con il campo FILENAME stesso; semplicemente non include quella capacità. L’unica soluzione è creare una macro che determini il nome del percorso e inserisca i livelli desiderati nel documento. Ad esempio, la seguente macro inert, nel punto di inserimento, il numero desiderato di livelli di directory per il file corrente:

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

Se il documento non è stato salvato, la macro non verrà eseguita. Funziona essenzialmente contando il numero di separatori di percorso (barre), a partire dalla fine del percorso. Quindi inserisce solo la parte del percorso da quel punto in avanti.

Lo svantaggio di una macro come questa, ovviamente, è che non è dinamica, come lo sono i campi. Inserisce semplicemente del testo. Se in seguito si modifica la posizione del documento o se si modifica il nome del documento, è necessario rieseguire la macro per inserire il nuovo testo del percorso.

Se il tuo ragionamento dietro l’inserimento solo di una parte del percorso è che il percorso è troppo lungo se incluso nella sua interezza, c’è un altro approccio che potresti adottare. Perché non ridurre semplicemente la dimensione in punti della porzione di percorso che non è importante. Ad esempio, diciamo che usi il campo FILENAME per inserire il percorso, e appare così:

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

Se desideri nascondere la parte a sinistra di “Livello2”, seleziona semplicemente il testo nei risultati del campo e formattalo come una dimensione in punti molto piccola. Se imposti la dimensione in punti qualcosa come 6 o 7 punti, la parte sotto enfasi è ancora leggibile, ma il percorso completo non occupa tanto spazio lineare nel documento. Se si desidera che la parte de-enfatizzata scompaia essenzialmente, è possibile impostare la dimensione del punto su 1 punto.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (6399) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: