Здравствуйте, IgBoris, Вы писали:
IB>
Хай, народ!
IB>Подскажите, плиз, следующее:
IB>Имеется вордовый файл.
IB>Как в него программно добавить колонтитул?
IB>Необходимо проверять условия:
IB>Если колонтитул имеется (созданный юзверем вручную), то в него следует добавлять строки программно, иначе создавать его.
IB>Заранее благодарю...
Не так давно не помню кем давался достаточно универсальный ответ на класс подобных вопросов: запускаешь записыватель макросов, делаешь клавишами/мышой что надо, останавливаешь записыватель, ищешь в макросах только что записаный, запускаешь его на редакцию (изменение) и вперед... код анализировать.
Но не все так просто, как на самом деле. Если делать по уму.
Тут фенька в том, что, возможно, придется несколько условий проверять: дело в том, что Ворд помимо различий верхних/нижних колонтитулов различает также: колонтитул первой страницы, четных страниц и главный колонтитул. Главный выводится на нечетных страницах, на первой, если в установках страницы не выбран пункт "различать колонтитул первой страницы" и на четных, если там же не выбран пункт "различать колонтитулы четных страниц". Но это только присказка, так как КАЖДАЯ секция (или раздел) может иметь свой комплект колонтитулов: первой страницы, четных страниц, главный. А может не иметь. Но все это проверяется соответствующими переменными: см. Object Browser (клавиша F2). Там немало найдется, друг Горацио, чему поучиться.
Это примерчик того, как установить главный верхний колонтитул первой секции
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text = "Главный верхний колонтитул"
А это — схема проверки и изменения главного верхнего колонтитула первой секции
sTmp=trim(ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text)
if sTmp="" then
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text= s & vbCrLf & "Моя новая строка."
else
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text= "Моя новая строка."
endif
Ну а дальше — дело техники

.