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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2015, 22:55   #1
Masterboy-skald
Новичок
Джуниор
 
Регистрация: 16.02.2015
Сообщений: 3
По умолчанию макрос для WORDа

Есть вордовский файлик. Зачастую порядка 300-400 листов.

Задача сейчас делается ручками но это очень долго(((
а цель такова:

идя по тексту я выделяю строку применяю к ней определенный стиль (заголовок, например) и мне нужно ее загнать в ЗАКЛАДКУ ворда. причем желательно что бы эта закладка была названа именно так какой я текст выделил. Обычно это Глава такая то либо просто Текст (например Вася или В тайге дремучей и т.д.) после этого я закрываю окно закладов и иду дальше по тексту. Часто таких закладок ну очень много. порядком много.
после всего этого я поднимаюсь вверх страницы и делаю автооглавление (по стилю который я применял к строкам).После этого я закидываю текст автооглавления в текстовик и потом обратно (заменяя тот что в ворде) этим я добиваюсь чтобы оглавление не было привязано к тексту. Затем к каждой строчке я добавляю гиперссылку НА ТУ ЗАКЛАДКУ которой она соответствует.

Вот собственно вопрос - можно ли как то автоматизировать этот процесс. Хотя бы частично или как-то еще.
Заранее спасибо всем кто откликнется...
Masterboy-skald вне форума Ответить с цитированием
Старый 17.02.2015, 02:08   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Сизифов труд

Работа интересная [как устроились?] — но гложет любопытство: зачем отвязывать, а потом туда же привязывать?

(Если такова служебная инструкция, то нельзя ли её подточить под автооглавление?)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 17.02.2015, 08:13   #3
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Ну замутили Предложу свой вариант.

Проще всего, делать как обычно. То есть, только пройтись стилями по тексту, разметив заголовки. После чего, вставить стандартное оглавление, в нужном вам формате (уровни, нумерация, оформление...).

Тут вступает макрос. Идея такая: макрос конвертирует стандартное оглавление в отвязанное Для этой операции макросу ничего не надо, уже все есть: и закладки проставлены (те что ставит само оглавление) и текст оглавления вами оформлен (осталось только взять).
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 17.02.2015, 10:44   #4
Masterboy-skald
Новичок
Джуниор
 
Регистрация: 16.02.2015
Сообщений: 3
По умолчанию

Sub 111()
'
' 1111
'
'
Selection.Style = ActiveDocument.Styles("заголовок 3")
Selection.Copy
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:="111"
.DefaultSorting = wdSortByName
.ShowHidden = True
End Wit

вот это делает из выделенного мною текста делает стиль заголовок3 (как мне и нужно) и потом делает закладку. автоматом.
но я не могу добиться никак что бы NAME он генерировал сам. а именно вставлял из буфера текст и убирал там пробелы...
помогите пожалуйста что я делаю не так((((
Masterboy-skald вне форума Ответить с цитированием
Старый 17.02.2015, 10:59   #5
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,079
По умолчанию

полуфабрикат
Код:
Sub a__ogl17()
'

Dim s1
s1 = Selection.Range.Text
s1 = Replace(s1, " ", "_")
s1 = Replace(s1, Chr(13), "")
s1 = Replace(s1, Chr(10), "")
s1 = Replace(s1, ".", "_")
s1 = Replace(s1, "-", "_")

Debug.Print Len(s1), s1

    With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:=s1
        .DefaultSorting = wdSortByName
        .ShowHidden = True
    End With
    Selection.Style = ActiveDocument.Styles("Заголовок 1")
    CommandBars("Apply Styles").Visible = False

End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 17.02.2015, 11:15   #6
Masterboy-skald
Новичок
Джуниор
 
Регистрация: 16.02.2015
Сообщений: 3
По умолчанию

Галина спасибо огромное) очень интересно)буду пробывать дорабатывать макрос уже сам.
Но уже это весомо облегчает работу с текстом.
Masterboy-skald вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнения таблицы WORDа mishan4uk Общие вопросы Delphi 1 25.07.2010 15:06
Из Wordа запустить Exel, скопировать таблицу kain151 Microsoft Office Word 4 25.03.2010 00:42
Как создавать документ Wordа по шаблону? Moly Общие вопросы Delphi 3 01.10.2009 11:14
Явление Wordа. Часть 2 Busine2009 Microsoft Office Word 2 26.05.2009 21:44