Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2015, 23:44   #1
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию создание содержания гиперссылками

доброго времени суток!
есть такая задача - делать содержание. но делать его не как все нормальные люди, через автоматическое оглавление, а гиперссылками. пример прикрепляю. подскажите, пожалуйста, можно ли как-то автоматизировать этот процесс?
как я делаю сейчас - вызываю окно гиперссылок и выбираю нужный заголовок. но часто заголовков очень много, и многие с очень похожими названиями, так что можно запутаться...
Вложения
Тип файла: doc содержание_гиперссылками.doc (70.0 Кб, 16 просмотров)
fym вне форума Ответить с цитированием
Старый 14.09.2015, 01:53   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Идея такая: создать оглавление, при этом создаются невидимые закладки вида _Toc429953577. Удалить оглавление, закладки останутся. Сделать видимыми все закладки
Код:
ActiveDocument.Bookmarks.ShowHidden = True
Пробежаться циклом по закладкам, вставляя гиперссылки на них.
Сегодня уже поздно, может завтра напишу. А может кто другой.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.09.2015, 07:26   #3
Борис_Р
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 26
По умолчанию

fym, посмотрите приложенный документ.
Автособираемое оглавление создано при помощи поля TOC:
{ TOC \o "1-3" \n \p " " \h \z }
ключ \h отвечает за оформление элементов оглавления в виде гиперссылок
Кроме того стили "Оглавление 1" -"Оглавление 3" изменены таким образом, чтобы созданное оглавление по внешнему виду походило на ваши гиперссылки.

Сохранил документ в формате HTML. После открытия в браузере предложенное автособираемое оглавление и оглавление созданное топикстартером в виде гиперссылок выглядят и работают абсолютно одинаково.

Последний раз редактировалось Борис_Р; 14.09.2015 в 08:13.
Борис_Р вне форума Ответить с цитированием
Старый 14.09.2015, 13:25   #4
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию

Борис_Р, спасибо, вариант хороший, но мне он не подходит. Во-первых, заказчик очень требовательный, и ему не нравится, что при работе с одной ссылкой серым подсвечивается все оглавление. Во-вторых, это не окончательный вариант содержания. Мне потом еще надо дописывать у каждой ссылки название издания, которое должно быть уже не ссылкой. В этом варианте такое либо невозможно, поскольку все, написанное рядом, делается ссылкой, либо я попросту не знаю, как так сделать.
fym вне форума Ответить с цитированием
Старый 14.09.2015, 13:41   #5
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию

Казанский, буду благодарна за подробную инструкцию не разобралась с закладками...
fym вне форума Ответить с цитированием
Старый 14.09.2015, 18:08   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте, макрос в документе
Код:
Sub fym()
Dim bm As Bookmark
  Selection.HomeKey wdStory
  Selection.InsertAfter "Содержание" & String$(4, vbCr)
  Selection.Style = ActiveDocument.Styles("+Обычный")
  Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=3, Name:=""
  ActiveDocument.Bookmarks.ShowHidden = True
  For Each bm In ActiveDocument.Bookmarks
    bm.Delete
  Next
  ActiveDocument.TablesOfContents.Add(Range:=Selection.Range, RightAlignPageNumbers:= _
    True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
    LowerHeadingLevel:=3, IncludePageNumbers:=False, AddedStyles:="", _
    UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _
    False).Delete
  For Each bm In ActiveDocument.Bookmarks
    ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", _
      SubAddress:=bm.Name, ScreenTip:="", TextToDisplay:=bm.Range.Text
    Selection.TypeParagraph
  Next
ActiveDocument.Paragraphs(1).Range.Font.Bold = True
ActiveDocument.Bookmarks.ShowHidden = False
End Sub
Вложения
Тип файла: doc содержание_гиперссылками.doc (85.5 Кб, 24 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.09.2015, 18:50   #7
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию

Макрос просто супер, спасибо огромное, все работает, как надо!))
fym вне форума Ответить с цитированием
Старый 16.09.2015, 22:28   #8
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию На безрыбье…

Цитата:
Сообщение от fym Посмотреть сообщение
заказчик очень требовательный
Мне б такого!
Sasha_Smirnov вне форума Ответить с цитированием
Старый 17.09.2015, 21:08   #9
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию

в чем прелесть требовательных заказчиков?))
fym вне форума Ответить с цитированием
Старый 17.09.2015, 22:12   #10
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Внушают уважение; платят! А с Казанским — разницы никакой.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с гиперссылками mamoht_tank Microsoft Office Excel 3 26.04.2014 10:25
Выпадающий список с гиперссылками Мария233 Microsoft Office Excel 0 05.09.2013 12:03
проблемы с гиперссылками Обыватель Microsoft Office Excel 3 06.04.2009 14:56
проблема с гиперссылками в ворде plaksa Microsoft Office Word 2 09.01.2009 14:47
Создание содержания, нужна помощь trunx Microsoft Office Word 1 10.06.2008 17:49