|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - Навигация в документе word2003 |
|
|
2003/XP/2000 - Навигация в документе word2003
|
Новый участник Сообщения: 30 |
Есть большие документы, в которых хотелось бы организовать удобную навигацию. Так, чтобы с оглавления можно было перемещаться к главам и после глав по нажатию кнопки перемещаться обратно к оглавлению. Как это реализовать если не гиперссылками? Хотелось бы также придумать какой-то макрос для расстановки таких кнопок по всему документу.
|
|
Отправлено: 18:23, 09-09-2010 |
Ветеран Сообщения: 12426
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:52, 09-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Такое есть и в 2003, правда в чуть менее красивом виде. Но я имею ввиду чтобы кнопки были прямо в тексте, а не в меню навигации.
|
Отправлено: 19:03, 09-09-2010 | #3 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Скажем так.
Оглавление.
Статьи.
|
Отправлено: 19:24, 09-09-2010 | #4 |
Модератор Сообщения: 16852
|
Профиль | Сайт | Отправить PM | Цитировать kanapfelka, и в 2003-м процесс создания оглавления можно автоматизировать. Единственное - использовать стили и уровни. Если в документе стили не используются, то можно воспользоваться закладками и гиперссылками. Встроенная справка Word объясняет сей процесс весьма доступно.
|
|
------- Отправлено: 20:43, 09-09-2010 | #5 |
Старожил Сообщения: 191
|
Профиль | Отправить PM | Цитировать Схематично можно так:
1) вставляем стандартным способом оглавление в файл 2) устанавливаем курсор в начало заголовка оглавления и стандартным образом вставляем туда закладку - назовем ее, допустим, "ЗакладкаОглавление" 3) после этого выполняем в документе примерно такой макрос: Sub ДобавитьСсылкиНаОглавление() Dim P As Paragraph For Each P In ActiveDocument.Paragraphs If P.Style = "Заголовок 1" Then P.Range.Select Selection.Collapse (wdCollapseStart) Selection.TypeParagraph Selection.MoveUp Selection.Style = wdStyleNormal Selection.TypeText Text:="Переход к оглавлению" Selection.HomeKey Unit:=wdLine, Extend:=wdExtend ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", _ SubAddress:="ЗакладкаОглавление", ScreenTip:="", TextToDisplay:= _ "Переход к оглавлению" End If Next P End Sub Макрос писался на скорую руку, могут быть разные тонкости, но кому нужно доведет и разовьет ![]() ![]() |
Отправлено: 11:10, 10-09-2010 | #6 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Гиперссылки это хорошо, а можно кнопку сделать?
|
Отправлено: 14:21, 10-09-2010 | #7 |
Старожил Сообщения: 191
|
Профиль | Отправить PM | Цитировать Цитата kanapfelka:
Впрочем, если хотите должно быть так: - включаем вкладку Разработчик (если в 2007) - записываем макрос вставки одной кнопки в текущий абзац - анализируем код, находим фрагмент, отвечающий непосредственно за вставку кнопки и назначение ей действия. - корректируем мой вариант. Лично не пробовал, т. к. считаю, что гиперссылки лучше с точки зрения последующей поддержки. Но скорее всего в моем макросе окажется необходимым заменить лишь строку, начинающуюся со слов ActiveDocument.Hyperlinks.Add |
|
Отправлено: 05:21, 13-09-2010 | #8 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Сделал кнопку, теперь надо к ней привязать действие для переноса на оглавление.
|
Отправлено: 14:51, 15-09-2010 | #9 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Sub AddButtonToPage(Anchor As Range, Name As String, Top As Single, Left As Single, Caption As String, MacroName As String) Dim btn As CommandButton 'Добавление кнопки на страницу With Anchor.Document.Shapes.AddOLEControl("Forms.CommandButton.1", , , , , Anchor) Set btn = .OLEFormat.Object With btn .Name = Name .Caption = Caption .AutoSize = True End With .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage .Left = Left .RelativeVerticalPosition = wdRelativeVerticalPositionPage .Top = Top - btn.Height End With 'Добавление кода для кнопки в модуль ThisDocument Dim CodeModule As VBComponent Set CodeModule = Anchor.Document.VBProject.VBComponents(1) With CodeModule.CodeModule .InsertLines .CountOfDeclarationLines + .CountOfLines, String(2, vbCr) .InsertLines .CountOfDeclarationLines + .CountOfLines, "Private Sub " & Name & "_Click()" & vbCr & "Application.Run ""WebGoBack""" & vbCr & "End Sub" End With End Sub Sub Main() Dim oRng As Range Dim i As Long Set oRng = ActiveDocument.Range 'Переход последовательно по страницам и вставка кнопок For i = 1 To ActiveDocument.Range.ComputeStatistics(wdStatisticPages) Set oRng = oRng.GoTo(wdGoToPage, wdGoToAbsolute, i) AddButtonToPage oRng, "Button" & i, oRng.Sections.First.PageSetup.TopMargin, oRng.Sections.First.PageSetup.LeftMargin, "К оглавлению", "Run" & i DoEvents Next End Sub Но есть проблема с его исполнением — проставляет кнопки не на каждой странице, и где ставит берет форматирование текста на кнопке из окружающего текста и все кнопки получаются разные. |
Отправлено: 12:28, 24-09-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
программа Navitel-GPS навигация | лехман | Мобильные ОС, смартфоны и планшеты | 4 | 30-07-2011 10:35 | |
навигация по FTP серверу | Hattori_Hanzo | Вебмастеру | 0 | 28-06-2010 13:55 | |
постраничная навигация mysql, php | dima1981 | Вебмастеру | 35 | 11-11-2008 19:27 | |
Непонятная вкладка при загрузке WORD2003 | Boikov | Хочу все знать | 4 | 25-11-2005 17:16 | |
Грядущее обновление сайта: содержание, структура и навигация. Важно ваше мнение! | Vadikan | Автоматическая установка Windows 2000/XP/2003 | 20 | 21-03-2005 05:04 |
|