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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2011, 13:11   #1
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию Удалить все страницы до конкретного слова

Всем привет! Мне надо удалить все (все страницы с содержимым), что находится перед словом бла бла бла.

Как удалить конкретное число первых страницы я знаю:

Код:
    Dim nStart As Long, nEnd As Long
    With Selection
      'Переход к началу первой страницы
      .GoTo wdGoToPage, wdGoToAbsolute, 1
      'Запоминаем положение
      nStart = .Start
      'Переход к началу 5 страницы
      .GoTo wdGoToPage, wdGoToAbsolute, 5
      'Запоминаем положение
      nEnd = .Start
      'Выделяем
      .SetRange nStart, nEnd
      'Удаляем
      .Delete
    End With
В этом случаи произойдет удаление первых 4-ех страниц, а мне надо удалить все первые страницы до слова бла бла бла. Т.е. перед бла бла бла я не знаю сколько конкретно страниц.

Подскажите, как ?
Я бы изменил мир, но Бог не дает исходники...
Polotenchik вне форума Ответить с цитированием
Старый 11.06.2011, 13:24   #2
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию

Странно, почему так не хочет удалять?:

Код:
    Dim intN
' Ищем бла бла бла
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "бла бла бла"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute

    intN = Selection.Information(wdActiveEndPageNumber) ' запоминаем номер страницы
    
    Dim nStart As Long, nEnd As Long
    With Selection
      'Переход к началу первой страницы
      .GoTo wdGoToPage, wdGoToAbsolute, 1
      'Запоминаем положение
      nStart = .Start
      'Переход к началу intN  страницы
      .GoTo wdGoToPage, wdGoToAbsolute, intN ' указывает его здесь
      'Запоминаем положение
      nEnd = .Start
      'Выделяем
      .SetRange nStart, nEnd
      'Удаляем
      .Delete
    End With
Должен ведь по идеи работать?!

П.С. А нет все пашет. Просто бла бла бла еще раньше встретилась по тексту. Вопрос снят!
Я бы изменил мир, но Бог не дает исходники...

Последний раз редактировалось Polotenchik; 11.06.2011 в 13:41.
Polotenchik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить все слова с длиной, большей заданной длины Broken Angel Помощь студентам 3 07.01.2011 15:17
Удалить в предложении все слова, имеющие символы цифр In4ekk Общие вопросы C/C++ 0 19.10.2010 14:10
Удалить все слова, встречающиеся более 2 раз kat297 Общие вопросы Delphi 3 11.06.2010 16:27
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова nick23 Помощь студентам 7 01.11.2009 14:47
В введенном предложении удалить все повторяющиеся слова Алена Помощь студентам 5 21.11.2007 14:12