Чтобы получить доступ к нижнему колонтитулу, связанному с выделением:
Dim rng as Word.Range
Set rng = Selection.Sections(1).Footers(wdHeaderFooterPrimary).Range
К этому добавить к этому диапазону:
rng.InsertAfter " This document was last printed on " 'don't forget a space at the beginning
rng.Collapse wdCollapseEnd 'so the inserted field comes AFTER
rng.Fields.Add Range:=rng, Type:=wdFieldPrintDate, _
Text:="\@""DD MMM YYYY""", preserveformatting:=False
Примечание: я настоятельно рекомендую использовать PreserveFormatting:=False
, так как в этом поле больше шансов получить форматирование окружающего текста, если применяется другое форматирование. Установка этого значения на True
сохранит исходное примененное форматирование для количества символов , первоначально указанного в поле . Если поле обновлено и число символов изменяется, некоторые символы могут быть отформатированы иначе, чем остальные.
Действительно, я предпочитаю использовать метод более следующим образом, со всем содержимым поля в параметре Text
, включая переключатель CharFormat
. CharFormat
заставит заставить все поле использовать форматирование символов, примененное к первому символу в коде поля - гораздо надежнее:
rng.Fields.Add Range:=rng, Type:=wdFieldEmpty, _
Text:="PrintDate \@""DD MMM YYYY"" \* CharFormat", preserveformatting:=False