FILENAME字段允许您将文档文件的名称插入文档本身。如果在该字段中使用/ p开关,则不仅会获得文件名,还会获得文件的完整路径:

{ FILENAME /p }

可以想象,路径名会变得很长,具体取决于硬盘驱动器的组织方式和文档的存储位置。出于这个原因,您可能要有选择地选择FILENAME返回的内容中包括哪些路径级别。例如,以下可能是文档的完整路径名:

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

您可能希望限制显示的目录级别,如以下两个示例所示:

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

不幸的是,无法使用FILENAME字段本身来执行此操作;它只是不包括该功能。唯一的解决方案是创建一个宏,该宏确定路径名并将所需的级别插入文档中。例如,以下宏将在插入点处使当前文件的所需目录级别数目无效:

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

如果文档尚未保存,则宏将不会运行。它实际上是通过计算从路径末尾开始的路径分隔符(斜杠)的数量来工作的。然后,它仅从该点开始插入路径的一部分。

当然,这样的宏的缺点是它不是动态的,就像字段一样。它只是插入文本。如果您以后更改文档的位置,或者更改文档名称,则需要重新运行宏以插入新的路径文本。

如果仅插入一部分路径的原因是当路径完整包含时路径太长,则可以采取另一种方法。为什么不简单地减小不重要的路径部分的点大小。例如,假设您使用FILENAME字段插入路径,它看起来像这样:

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

如果要隐藏“ Level2”左侧的部分,只需在字段结果中选择该文本,然后将其格式化为很小的磅值即可。如果将点的大小设置为6或7点,则经过强调的部分仍然清晰可见,但是完整路径不会在文档中占用太多线性空间。如果要使去强调的部分基本消失,则可以将点大小设置为1点。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(6399)适用于Microsoft Word 97、2000、2002和2003。您可以找到Word(Word 2007)的功能区界面的本技巧版本。和更高版本)在这里: