Limitazione delle directory nel campo FILENAME (Microsoft Word)
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: