Begrensende kataloger i feltet Filnavn

January 6  by Eliza

Filnavnet feltet lar deg sette inn navnet på dokumentfilen i selve dokumentet. Hvis du bruker / p bryter med feltet, får du ikke bare filnavnet, men også hele banen for filen:

{FILE / p}

Som du kan forestille deg, kan banenavnet bli ganske lang, avhengig av hvordan harddisken er organisert og hvor du lagret dokumentet. Av denne grunn, kan det være lurt å velge hvilke nivåer av banen er inkludert i hva filnavn avkastning. For eksempel kan følgende være den fullstendige banen navn på dokumentet:

C: \ Mine dokumenter og innstillinger \ Nivå 1 \ Level2 \ Nivå 3 \ Nivå 4 \ Dok1.doc

Du vil kanskje begrense katalognivåene, som vist i disse to eksemplene:

\ Level2 \ Nivå 3 \ Nivå 4 \ Dok1.doc
\ Nivå 1 \ Level2 \ Nivå 3 \ Nivå 4 \ Dok1.doc

Dessverre er det ingen måte å gjøre dette med FILE feltet selv; det bare omfatter ikke den evnen. Den eneste løsningen er å lage en makro som bestemmer banenavnet og setter inn de ønskede nivåene inn i dokumentet. For eksempel vil følgende makro inert, ved innsettingspunktet, ønsket antall katalognivåer for den aktuelle filen:

Sub SelectPaths ()
Dim Späth 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

Späth = ActiveDocument.Path
Hvis Späth = "" Then
MsgBox "Trenger du å spare før du kjører denne makroen.", _
vbOKOnly, "Dette Dokumentet ble ikke lagret"
Else
Späth = Späth & Application.PathSeparator
sName = ActiveDocument.Name
sFull = Späth & sName

sMsg = "Dette er den fullstendige banen:" & vbCrLf
sMsg = sMsg & sFull & vbCrLf & vbCrLf
sMsg = sMsg & "Hvor mange nivåer vil du, telling"
sMsg = sMsg & "fra høyre til venstre?"

STEMP = InputBox (sMsg)
iLevels = Val (STEMP)

Spart = ""
Hvis iLevels> 0 Deretter
For J = Len (sFull) Til en Step -1
Hvis Mid (sFull, J, 1) = Application.PathSeparator Deretter
iLevels = iLevels - 1
Hvis iLevels = 0 Then
Spart = Mid (sFull, J, 255)
Exit For
End If
End If
Neste J
End If

Selection.TypeText (Spart)
End If
End Sub

Hvis dokumentet ikke er lagret, vil makroen ikke kjøre. Det fungerer ved hovedsak telle antall stiseparatorer (skråstreker), som starter i slutten av banen. Det setter så bare den delen av banen som peker fremover.

Ulempen med en makro som dette, er selvfølgelig at det ikke er dynamisk, som er felt. Det bare setter tekst. Hvis du senere endre plasseringen av dokumentet, eller hvis du endrer navn på dokumentet, så må du kjøre makroen for å sette inn den nye banen teksten.

Hvis ditt resonnement bak å sette inn bare en del av banen er at banen er for lang når inkludert i sin helhet, det er en annen tilnærming som du kan ta. Hvorfor ikke bare redusere punkt størrelsen på den delen av banen som ikke er viktig. For eksempel, la oss si at du bruker filnavnet feltet for å sette banen, og det ser ut som dette:

C: \ Mine dokumenter og innstillinger \ Nivå 1 \ Level2 \ Nivå 3 \ Nivå 4 \ Dok1.doc

Hvis du ønsker å skjule den delen til venstre for "Level2," bare velge at teksten i feltresultatene, og formatere den som en svært liten punktstørrelse. Hvis du gjør punktstørrelsen noe sånt som 6 eller 7 poeng, er de-understreket del fortsatt leselig, men hele banen tar ikke opp så mye lineær plass i dokumentet. Hvis du vil at de understreket del til hovedsak forsvinne, kan du angi punktstørrelsen til 1 poeng.

WordTips er din kilde for kostnadseffektiv Microsoft Word trening. (Microsoft Word er den mest populære tekstbehandlingsprogrammet i verden.) Dette tipset (6399) gjelder for Microsoft Word 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Word (Word 2007 og senere) her: Begrense kataloger i feltet Filnavn.