Использование части имени файла документа в заголовке (Microsoft Word)
Владимир знает, что может поместить имя файла документа в заголовок страницы. Однако он хотел бы, чтобы в заголовке отображались только последние пять символов имени файла (без расширения имени файла). Он подыскивает лучший способ выполнить задачу.
Единственный способ сделать это — использовать макрос; в Word нет встроенных функций для выполнения этой задачи. Макрос должен определить имя файла, захватить нужные символы и затем вставить их в заголовок. Однако есть потенциальные сложности с тем, что может показаться таким простым. Например, что, если документ не был сохранен и, следовательно, еще не имеет имени файла? Что делать, если документ был сохранен, но в имени файла меньше пяти символов?
Что делать макросу, если в шапке уже что-то есть?
Что делать, если пользователь просматривает документ в представлении, в котором не отображаются заголовки?
Чтобы справиться с такими вопросами, макросу необходимо сделать некоторые предположения.
В этом примере мы предположим, что макрос должен просто заменить любой существующий заголовок желаемой частью имени файла. Кроме того, макрос может переключить режим просмотра на представление макета печати, чтобы с заголовком было легко работать. Вот результат:
Sub PartFilenameInHeader() Dim sName As String Dim J As Long sName = ActiveDocument.Name J = InStrRev(sName, ".") If J > 0 Then sName = Left(sName, J - 1) If Len(sName) > 5 Then sName = Right(sName, 5) End If If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _ ActivePane.View.Type = wdOutlineView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader Selection.WholeStory Selection.Delete Selection.TypeText Text:=sName ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Else MsgBox "Document has no filename extension." End If End Sub
Макрос сначала проверяет, имеет ли документ настоящее имя файла (из свойства .Name объекта ActiveDocument). Если это так, то он извлекает пять (или меньше) символов из имени файла. Он проверяет, не открыто ли несколько панелей и находится ли документ в режиме макета печати. Затем он выбирает то, что в данный момент находится в заголовке, и заменяет его желаемыми символами из имени файла.
Помните, что макрос следует запускать один раз после сохранения документа и еще раз, если вы когда-либо сохраняли документ с другим именем файла.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13316) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.