FILENAMEフィールドを使用すると、ドキュメントファイルの名前をドキュメント自体に挿入できます。フィールドで/ pスイッチを使用すると、ファイル名だけでなく、ファイルのフルパスも取得します。

{ FILENAME /p }

ご想像のとおり、ハードドライブの構成方法やドキュメントの保存場所によっては、パス名がかなり長くなる可能性があります。このため、FILENAMEが返すものに含まれるパスのレベルを選択的に選択することをお勧めします。たとえば、ドキュメントのフルパス名は次のようになります。

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

次の2つの例に示すように、表示されるディレクトリレベルを制限することをお勧めします。

\Level2\Level3\Level4\Doc1.docx \Level1\Level2\Level3\Level4\Doc1.docx

残念ながら、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.docx

「レベル2」の左側の部分を非表示にする場合は、フィールドの結果でそのテキストを選択し、非常に小さいポイントサイズとしてフォーマットします。ポイントサイズを6ポイントまたは7ポイントのようにすると、強調されていない部分は読みやすくなりますが、フルパスはドキュメント内の線形スペースをあまり占有しません。強調されていない部分を本質的に消したい場合は、ポイントサイズを1ポイントに設定できます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13292)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: