Макрос вставки оглавления

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

darklumen
Сообщения: 23
Зарегистрирован: 24 сен 2009, 22:13

Господа, всех с Наступающим НГ!
Нужна помощь.
Необходимо написать макрос, который вставляет на первой страницы оглавление текста, при условии чт если оглаление уже присутсвует, тогда макрос просто его полностью обновляет.
Очень очень надо, в макросах я новичек!
Заранее спасибо вооооооот таоке! -))))
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

darklumen,
для начала сделай следующее:
Сервис - Макросы - Запись.
Вставка - Ссылка - Оглавление.
Остановить запись Макросов.
Входишь в VBA и любуешься кодом.
darklumen
Сообщения: 23
Зарегистрирован: 24 сен 2009, 22:13

Busine2009 писал(а):darklumen,
для начала сделай следующее:
Сервис - Макросы - Запись.
Вставка - Ссылка - Оглавление.
Остановить запись Макросов.
Входишь в VBA и любуешься кодом.
хихи! до этого я допедрил. а вот как обработать событие, если оглавление уже существует?
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

darklumen,
возможно ли, чтобы у тебя в документе было несколько Оглавлений?
darklumen
Сообщения: 23
Зарегистрирован: 24 сен 2009, 22:13

Busine2009 писал(а):darklumen,
возможно ли, чтобы у тебя в документе было несколько Оглавлений?
нет оглавление одно.
вот то что мне выдал макрорекодер:

With ActiveDocument
.TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _
UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _
True
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With

идея такая, я открываю текст, нажимаю макрос, если оглавления нет - он его вставляет на первую страничку документа, если оно уже есть - делает обновление оглавления.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Busine2009,
надо же указать месть вставки Оглавления, если его нет.
Оглавление должно быть самым первым на странице? А как же слово Оглавление?
darklumen
Сообщения: 23
Зарегистрирован: 24 сен 2009, 22:13

Busine2009 писал(а):Busine2009,
надо же указать месть вставки Оглавления, если его нет.
Оглавление должно быть самым первым на странице? А как же слово Оглавление?
да, его тоже надо по центру на первой странице и потом оглавление. =(
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

darklumen,
а курсор можно вставить после слова Содержание или надо чтобы вообще было всё автоматически? Если полностью всё автоматически, то на данной странице идёт что: слово "Содержание", затем пустой абзац, а затем Содержание?
darklumen
Сообщения: 23
Зарегистрирован: 24 сен 2009, 22:13

WordBasic.UpdateTableOfContents - вот эта байда обновляет оглавление.
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

darklumen,
я тебя вообще-то о другом спрашивал.
Ответить