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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2010, 22:55   #1
cmygla
Новичок
Джуниор
 
Регистрация: 05.12.2010
Сообщений: 2
По умолчанию Автоматическое создание структуры документа

Здравствуйте форумчане!!
Как говорится, прошу помощи. Бьюсь уже 2 дня над проблемой. В документе присутствует текст, как бы "разделенный на подпункты". т.е. есть параграф , начинающийся в виде "4 название параграфа", есть в виде "4.1 название параграфа" ну и.т.п . Естественно, между ними может встречаться текст с обычным содержимым. Так вот, хотелось бы , чтобы параграф "4 название параграфа" - это был элемент первого уровня документа, "4.1 название параграфа" - второго уровня ну и т.п.
Ковыряюсь с методом Find и подстановочными знаками. Вроде как, поняла что ищет он по словам, а в качестве разделителей использует либо пробел, либо точку. Так вот как обойти это разделение в поиске при задании маски не соображу
Помогите, подскажите..
Вот что сейчас пока у меня имеется:
Код:
Sub Создание_сруктуры()
'
' Создание_сруктуры Макрос
'

  Application.ScreenUpdating = False
  Set myParagraphs = ActiveDocument.Paragraphs
  For x = 1 To myParagraphs.Count
       myParagraphs(x).Range.Select
       
      ' If Selection.Font.Bold Then
        With Selection.Find
            .Forward = True
            .ClearFormatting
            .MatchWholeWord = False
            .MatchCase = False
            .MatchWildcards = True
            .Execute FindText:="<[0-9]@ "
            If .Found = True Then
                 myParagraphs(x).OutlineLevel = wdOutlineLevel1
            End If
            .Execute FindText:="<[0-9]@.[0-9]@ "
            If .Found = True Then
                 myParagraphs(x).OutlineLevel = wdOutlineLevel2
            End If
            .Execute FindText:="<[0-9]@.[0-9]@.[0-9]@ "
           If .Found = True Then
                 myParagraphs(x).OutlineLevel = wdOutlineLevel3
            End If
            
        End With
       'End If
  Next x
 Application.ScreenUpdating = True
End Sub
cmygla вне форума Ответить с цитированием
Старый 08.12.2010, 19:13   #2
cmygla
Новичок
Джуниор
 
Регистрация: 05.12.2010
Сообщений: 2
По умолчанию

тему можно удалить, проблему решила
cmygla вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое создание макроса lavrentiyy Microsoft Office Excel 16 14.10.2010 00:07
Автоматическое создание ярлыков Domain Общие вопросы C/C++ 0 01.10.2010 17:17
Создание шаблона документа niziriska Общие вопросы .NET 1 30.04.2010 12:05
Автоматическое оформление документа по ГОСТ bdfy Microsoft Office Word 7 03.04.2010 15:09
Выделение и копирование части документа на основе структуры файла satyr_of_frost Microsoft Office Word 23 12.02.2009 09:15