Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фокус с колонтитулами / 11 сообщений из 11, страница 1 из 1
19.03.2010, 16:59
    #36531530
Дмитрий-К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Приветствую ВСЕХ!
Вопрос к ВАМ, Уважаемые форумчане. Может кто сталкивался с задачей: из Excel-евского макроса нужно открыть док-т Word и изменить в нем колонтитулы!
Код:
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objDoc = objWord.Documents.Open("Мой_документ.doc")
With objWord.ActiveDocument.Sections(1)
.Headers(wdHeaderFooterPrimary).Range.Text = "Header text"
.Footers(wdHeaderFooterPrimary).Range.Text = "Footer text"
End With
не проходит!!!

With objWord.ActiveDocument.Page
.CenterFooter = "Footer text"
End With
И этот тоже ;-(
Буду очень признателен и благодарен за обсуждение и помощь!
Дмитрий
...
Рейтинг: 0 / 0
19.03.2010, 17:35
    #36531630
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Дмитрий-Кне проходит!!!

Напряглись....
пытаемся угадать текст ошибки
...
Рейтинг: 0 / 0
19.03.2010, 17:49
    #36531675
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
вы, кстати, определили константы wdHeaderFooterPrimary и wdHeaderFooterPrimary (или подключили библиотеку ворда к экселю)? Если нет, используйте их числовые эквиваленты или определите.
...
Рейтинг: 0 / 0
21.03.2010, 04:39
    #36532961
Дмитрий-К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Библиотеки не подключал и константы не определял. Как это сделать?
Const wdHeaderFooterPrimary = ?(чему равно?)

Дмитрий
...
Рейтинг: 0 / 0
21.03.2010, 10:15
    #36533012
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Дмитрий-К, подключите в Tools->References Microsoft Word xx Object Library, объявите переменную objWord
Код: plaintext
Dim objWord As Word.Application

А вот это всё равно не заработает, поскольку ".CenterFooter" в Ворде отсутствует:
Код: plaintext
1.
2.
With objWord.ActiveDocument.Page 'objWord.ActiveDocument.PageSetup
.CenterFooter = "Footer text"
End With
Как лучше отцентровать колонтитул - вопрос к знактокам Word.
...
Рейтинг: 0 / 0
21.03.2010, 11:00
    #36533035
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Дмитрий-КБиблиотеки не подключал и константы не определял. Как это сделать?
Const wdHeaderFooterPrimary = ?(чему равно?)

Дмитрий

1

чтобы узнать значение любой константы, надо зайти в Visual Basic и в окне Immediate написать
Код: plaintext
?wdHeaderFooterPrimary
и нажать Enter. В случае с вордовыми константами надо сделать это в ворде.
...
Рейтинг: 0 / 0
21.03.2010, 11:02
    #36533036
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
vlthвопрос к знактокам Word.

или к записи макроса
90% простых вопросов решаются именно так
...
Рейтинг: 0 / 0
21.03.2010, 11:27
    #36533055
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Дмитрий-КБиблиотеки не подключал и константы не определял
Дмитрий-К, замечу, что при определении констант (... = 1) библиотеку можно не подключать, а переменную objWord в этом случае следует определить так:
Код: plaintext
Dim objWord As Object
...
Рейтинг: 0 / 0
21.03.2010, 11:29
    #36533058
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Поправка: не "определить", а "объявить", конечно.
...
Рейтинг: 0 / 0
21.03.2010, 16:01
    #36533271
Дмитрий-К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Буду пробовать. Результаты сообщу обязательно!!!
Дмитрий
...
Рейтинг: 0 / 0
22.03.2010, 15:27
    #36534834
Дмитрий-К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фокус с колонтитулами
Заработало!!!

Const wdHeaderFooterPrimary = 1
Dim objWord as Object 'Не обязательно!
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objDoc = objWord.Documents.Open("Мой_документ.doc")

With objWord.ActiveDocument.Sections(1)
.Headers(wdHeaderFooterPrimary).Range.Text = "Header text"
.Footers(wdHeaderFooterPrimary).Range.Text = "Footer text"
End With

+ подключение библиотек WORD через tools-references

Использовал MS Office 2007. Всем спасибо!
Есть еще один интересный для меня :-) вопрос, но об этом, наверное, в другой теме!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фокус с колонтитулами / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]