Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как выставить прежнее выделение в тексте

248
11 сентября 2007 года
Dmitry2064
590 / / 06.12.2006
Вот что я делаю (по жизни :) ).
Нахожу нужный фрагмент текста (по имени стиля). Ставлю метку этого стиля и продолжаю искать этот стиль дальше по тексту. Но теперь возникла необходимость проверять стиль предыдущего абзаца. А потом мне надо же вернуть курсор на прежнее место, с которого продолжить поиск искомого стиля дальше (если на старое место курсор не вернуть, то макрос будет циклиться, крутясь вокруг одно и того же абзаца).
Я написал так (фрагмент кода :o ):
Код:
Selection.Find.Execute '[COLOR=Green]совершили однократный поиск[/COLOR]
    If Selection.Find.Found = False Then GoTo stt [COLOR=Green]'если не нашел - бросаю искать[/COLOR]
      Pos1 = Selection.Start [COLOR=Green]' зафиксировали[/COLOR]
      Pos2 = Selection.End   '[COLOR=Green]координаты выделения[/COLOR]
    Selection.InsertBefore Text:="commm"
        Selection.MoveUp Unit:=wdParagraph, Count:=3 [COLOR=Green]'вернулись
на два абзаца вверх для проверки стиля предыдущ. абзаца[/COLOR]
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
'[COLOR=Green] выделили буковку, чтобы возникло выделение[/COLOR]
        If Selection.Paragraphs.Style = "Заголовок 4" Then[COLOR=Green] 'проверили стиль заголовка[/COLOR]
        Selection.InsertBefore Text:="commm" [COLOR=Green]'выставляю мою метку
(она нужна будет для дальнейшей работы) [/COLOR]
        End If
        Set myRange = ActiveDocument.Range(Start:=Pos1, End:=Pos2) [COLOR=Green]
'выставил выделение на найденное до этого, но не работает[/COLOR]
        Set mySel = Selection.Range [COLOR=Green]
'продолжаю пытаться выставить прежнее выделение,
но все равно не работает[/COLOR]
    Selection.MoveRight Unit:=wdCharacter, Count:=1 [COLOR=Green]' смещаюсь с выделения дальше[/COLOR]
Еще раз. Я нахожу нужный абзац, ставлю перед ним метку и сдвигаю курсор вправо на одну позицию, что бы продолжить поиск дальше. А вот если я вернулся в процессе обработки назад, то как мне продолжить поиск с уже однажды найденного места. Короче, как оформить директиву [COLOR=Navy]"Вернуть выделение текста (или курсор) на прежнее место"[/COLOR]?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог