Поле FILENAME позволяет вам вставить имя файла документа в сам документ. Если вы используете переключатель / p с полем, вы получите не только имя файла, но и полный путь к нему:

{ FILENAME /p }

Как вы понимаете, имя пути может быть довольно длинным, в зависимости от того, как организован ваш жесткий диск и где вы сохранили документ. По этой причине вы можете захотеть выборочно выбрать, какие уровни пути будут включены в то, что возвращает FILENAME. Например, следующее может быть полным именем пути к документу:

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

Вы можете ограничить отображаемые уровни каталогов, как показано в этих двух примерах:

\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

Если вы хотите скрыть часть слева от «Level2», просто выделите этот текст в поле результатов и отформатируйте его как очень маленький размер точки. Если вы установите размер кегля примерно в 6 или 7 пунктов, ослабленная часть по-прежнему будет читаема, но полный путь не займет столько линейного пространства в вашем документе. Если вы хотите, чтобы ослабленная часть практически исчезла, вы можете установить размер точки на 1 точку.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13292) относится к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Limiting_Directories_in_the_FILENAME_Field [Ограничение каталогов в поле FILENAME].