Статьи из блога
Как вставить в колонтинтул путь и имя файла
Один из читателей сайта задал вопрос:
Как настроить Word, чтобы при распечатке в нижнем колонтитуле указавался путь и имя файла?
Это достаточно легко сделать. Нужно просто вставить в нижний колонтитул специальное поле FileName с ключом p, а потом отправить документ на печать.
О том, как вставить поля в колонтитулы, я подробно описал в заметке
Чтобы вставить поле FileName с включением пути к файлу, в меню Вставка выберите команду Поле, в открывшемся окне выберите категорию О документе, а в списке поля выберите поле FileName.
Далее последовательно нажмите кнопку коды поля, а затем кнопку Параметры. Откроется диалоговое окно Параметры поля:
Перейдите на вкладку Ключи, выберите строку с ключом p и нажмите кнопку Добавить. Нажатием кнопки ОК закройте все окна. Путь к файлу будет вставлен в колонтитул.
Если вы работаете в редакторе Word 2007, то на вкладке Вставка в группе команд Текст нажмите кнопку Экспресс-блоки и в раскрывшемся списке выберите команду Поле. Повторите вышеописанные действия для вставки поля в колонтитул.
Кроме ручной вставки поля в колонтитулы, можно воспользоваться и специальным макросом, приведенным ниже. Вы можете вставить либо только имя текущего документа, либо путь и имя.
Если вам нужно только имя, то удалите в коде знак комментария («'») у оператора
.Fields.Add Range:=hfRange, Type:=wdFieldFileName, Text:="FILENAME"
и поставьте такой значок у нижнего оператора
.Fields.Add Range:=hfRange, Type:=wdFieldEmpty, Text:="FILENAME \p"
Sub filenametofooter() 'Вставка в нижний колонтитул пути и имени активного документа Dim hfRange As Range 'диапазон колонтитулов Set hfRange = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range With hfRange .Delete ' .Fields.Add Range:=hfRange, Type:=wdFieldFileName, Text:="FILENAME" 'поле имени файла или .Fields.Add Range:=hfRange, Type:=wdFieldEmpty, Text:="FILENAME \p" 'поле пути и имени файла End With ActiveDocument.ActiveWindow.View.ShowFieldCodes = False 'скрываем коды полей, если они отображались ActiveWindow.View.Type = wdPrintView 'переключаемся в режим Разметка страницы ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit 'формат по ширине страницы End Sub
Метки: ключи поля | колонтитулы | макросы | поля
Просмотров: 66489
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрое удаление границ у таблицы
- Быстрый ввод текста с помощью команды =rand()
Комментариев: 14
Здравствуйте. Каким способом можно поменять шрифт текста который вставляется в этот колонтитул, и есть ли возможность чтобы имя файла было с расширением. Спасибо.
Вместо этой строки
вставьте такие:
Имя файла вставится не полем, но, думаю, что это несущественно в данном случае.
Sub filenametofooter()
'Вставка в нижний колонтитул пути и имени активного документа
Dim hfRange As Range 'диапазон колонтитулов
Set hfRange = ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range
With hfRange
.Delete
'Это вставит имя файла с расширением
.InsertAfter Mid(ThisDocument.FullName, InStrRev(ThisDocument.FullName, "\") + 1)
'Это изменит шрифт
.Font.Name = "courier"
End With
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False 'скрываем коды полей, если они отображались
ActiveWindow.View.Type = wdPrintView 'переключаемся в режим Разметка страницы
ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit 'формат по ширине страницы
End Sub
В итоге выщло такое, но пишет не назву файла а назву шаблона (Normal.dotm). Каким способом сделать чтоб имя файла было только на 1-й странице а не на всех?
Спасибо.
Замените ThisDocument на ActiveDocument. У вас макрос наверное в шаблоне лежит
Николай, а разве в первом макросе в заметке имя файла вставляется без расширения? Вставляется полный путь с полным именем файла.
P.S. Не заметил, что нужно только имя файла...
Шрифт текста в колонтитуле вы можете поменять соответствующим стилем, а нумерацию на первой странице нужно ограничить либо вставкой нового раздела для второй и следующих страниц, либо снятием параметра для колонтитулов "Как в предыдущем".
А чтобы оставить только имя файла, надо из кода макроса убрать у строки
ключ \р, чтобы получилось так:
Спасибо большое, помогло. А как снять параметр для колонтитулов "Как в предыдущем"?
Вот ссылка на статью:
http://wordexpert.ru/page/kak-vstavit-nazvanie-glavyi-v-kolontitul
А это список статей по колонтитулам:
http://wordexpert.ru/page/10-poleznyx-zametok-o-kolontitulax
а как вставить только одно имя файла без расширения?
Ну скажите пожалуйста, как же все таки вставить только одно имя файла без расширения?
К сожалению, никак. Вставьте с расширением. Затем расширение с точкой выделите и нажмите Shift+Ctrl+H, чтобы сделать выделенный текст невидимым.
Скажите пожалуйса. Возможно ли сделать такую махинацию. необходимо в нижнем поле добавить макрос с полным путем к файлу но с динамическим обновлением содержимого. Т.е. сохраняю я к примеру на рабочем столе файл и автоматом прописывается путь к фалйлу "C:\Documents and Settings\SSS\Рабочий стол\022908 бланк.doc" если я обращаюсь к файлу сохраненному на рабочем столе и пересохраняю его по новому пути к примеру "D:\мои документы" путь в файле не изменяется остается пердыдущий "C:\Documents and Settings ... и т.д" возможн ли установить дополнительным параметром при сохранении документа проверка имени пути и его обновления???? Возможно я что-то упустил прошу прощения если не дочитался. Спасибо за статью.
Под "нижним полем" вы, видимо, подразумеваете нижний колонтитул. Вставляете поле, как описано в заметке, а вот чтобы это поле автоматически обновлялось, необходимо принудительное воздействие. Например, автомакросы, типа AutoOpen или же самостоятельное обновление поля с помощью макроса.
Подробнее можно почитать здесь:
Автоматическое обновление полей при открытии документа