FILENAMEフィールドのディレクトリを制限する(Microsoft Word)
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の古いメニューインターフェイス: