powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фокус с колонтитулами
11 сообщений из 11, страница 1 из 1
Фокус с колонтитулами
    #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
Фокус с колонтитулами
    #36531630
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий-Кне проходит!!!

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

Дмитрий
...
Рейтинг: 0 / 0
Фокус с колонтитулами
    #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
Фокус с колонтитулами
    #36533035
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий-КБиблиотеки не подключал и константы не определял. Как это сделать?
Const wdHeaderFooterPrimary = ?(чему равно?)

Дмитрий

1

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

или к записи макроса
90% простых вопросов решаются именно так
...
Рейтинг: 0 / 0
Фокус с колонтитулами
    #36533055
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий-КБиблиотеки не подключал и константы не определял
Дмитрий-К, замечу, что при определении констант (... = 1) библиотеку можно не подключать, а переменную objWord в этом случае следует определить так:
Код: plaintext
Dim objWord As Object
...
Рейтинг: 0 / 0
Фокус с колонтитулами
    #36533058
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка: не "определить", а "объявить", конечно.
...
Рейтинг: 0 / 0
Фокус с колонтитулами
    #36533271
Дмитрий-К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Буду пробовать. Результаты сообщу обязательно!!!
Дмитрий
...
Рейтинг: 0 / 0
Фокус с колонтитулами
    #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
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фокус с колонтитулами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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