Колонтитулы - программное изменение

Программирование на Visual Basic for Applications
zoman
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.06.2005 (Пт) 9:19

Колонтитулы - программное изменение

Сообщение zoman » 10.06.2005 (Пт) 9:27

Как можно изменить имеющиеся верхние колонтитулы (произвольный текст + № страницы) для Word с помощью VBA?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 10.06.2005 (Пт) 9:38

Запиши макрос, сделай в нем мышкой все действия, потом посмотри его текст.

zoman
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.06.2005 (Пт) 9:19

Сообщение zoman » 10.06.2005 (Пт) 9:45

Запиши макрос, сделай в нем мышкой все действия, потом посмотри его текст.


А ты сам так пробовал?

После выполнения он делает там где установлен курсор :shock:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 10.06.2005 (Пт) 9:50

Мда, забыл, что в ворде макросы хреновастенько записываются... Я по ворду не специалист, если будет время, посмотрю.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 10.06.2005 (Пт) 10:05

Нечего на Ворд пенять, коли голова не включается. Понятное дело, что он запишет для Selection макрос. Так его надо модифицировать самому потом уже.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 10.06.2005 (Пт) 11:19

Для Selection - это еще хорошо. Ты попробуй с колонтитулами поработать. Там правда уродский код получится, который еще и не работает. Из него, конечно, можно вывести то, что нужно, но далеко не сразу.

zoman
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.06.2005 (Пт) 9:19

Сообщение zoman » 10.06.2005 (Пт) 11:44

Вот так добавляем колонтитул:
Word.Document.Sections(1).Headers(1).Range.Text = "TEST"

Вот так добавляем к существующему колонтитулу:
Word.Document.Sections.Item(1).Headers.Item(1).Range.InsertBefore "TEST"

А мне надо еще варианты, типа как создать полный колонтитул с номером страницы, датой и временем...

zoman
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.06.2005 (Пт) 9:19

Решил...

Сообщение zoman » 14.06.2005 (Вт) 9:54

Вообщем, чтобы не изобретать велосипед, сдлелал так:

В колонтитулах то, что надо менять - сделал полями.

Нюанс:
Word.Document.Fields.Update - обновляет поля для документа.
Word.Document.Sections(1).Headers(1).Range.Fields.Update - ОБНОВЛЯЕТ ПОЛЯ ДЛЯ КОЛОНТИТУЛОВ!!!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList