Поиск текста Word
Модератор: Naeel Maqsudov
Поиск текста во всем выделенном документе например К,Е,Д, если найдено удалить строки в которых найдены эти слова
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
В выделенном фрагменте?
Код: Выделить всё
Sub qwe()
Dim FoundRange As Word.Range, WorkingRange As Word.Range
Set FoundRange = Selection.Range
Set WorkingRange = Selection.Range
While FoundRange.Find.Execute(findtext:="we", Forward:=True)
If FoundRange.Start >= WorkingRange.Start And FoundRange.End <= WorkingRange.End Then
FoundRange.Select
Selection.MoveStart wdLine, -1
Selection.MoveEnd wdLine, 1
Selection.Delete
End If
Wend
Set FoundRange = Nothing
Set WorkingRange = Nothing
End Sub
Спасибо большое, а вот много вариантов (т.е. много слов или различных знаков) для поиска текста можно сделать в этом же макросе
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте lebmax.
Naeel Maqsudov предложил инструмент, а сколько "вариантов" выполнять с его помощью решать Вам.
Способ использования может выглядеть так:
Евгений.
Naeel Maqsudov предложил инструмент, а сколько "вариантов" выполнять с его помощью решать Вам.
Способ использования может выглядеть так:
Код: Выделить всё
Sub qwe(s As String)
.....
While FoundRange.Find.Execute(findtext:= s, .....
Код: Выделить всё
Sub delText()
qwe "we"
qwe "wi"
qwe "wu"
qwe "другой текст"
...
End Sub
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Хочется еще добавить про параметр MatchWildcards:=True, при котором разрешается искать по маске.
Например "<стол[ауе]>" найдет стола, столу, столе но не найдет "стола" в составе слова "столам" (из-за знака ">").
См. справку Word.
Например "<стол[ауе]>" найдет стола, столу, столе но не найдет "стола" в составе слова "столам" (из-за знака ">").
См. справку Word.
Спасибо большое очень помогло
- mc-black
- Сообщения: 250
- Зарегистрирован: 08 май 2008, 16:09
- Откуда: Россия, Нижний Новгород
- Контактная информация:
Пример Naeel Maqsudov, доработанный Teslenko_EA сделать в одну строку кода:
Код: Выделить всё
Sub qwe(s As String)
Selection.Range.Find.Execute FindText:=s, Forward:=True, ReplaceWith:="", Replace:=wdReplaceAll
End Sub
На заказ: VBA, Excel mc-black@yandex.ru