Найти строку в документе и удалить все после нее - PullRequest
2 голосов
/ 31 января 2009

Я хочу найти строку в текстовом документе и удалить все после нее.

Каков наилучший способ сделать это без использования объекта Selection?

1 Ответ

10 голосов
/ 31 января 2009

Вместо этого используйте объект Range. Прямо из справки Word 2003:

Если вы попали в объект поиска из объекта Range, выбор не изменяется при совпадении текста критерий поиска найден, но диапазон Объект переопределен. Следующие Пример находит первое вхождение слова "синий" в активном документ. Если "синий" найден в документ, myRange переопределен

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", _
    Forward:=True
If myRange.Find.Found = True Then 

Теперь используйте метод SetRange этого объекта Range, чтобы начало диапазона было следующим символом после конца искомой строки, а конец диапазона был концом документа:

myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End

(TODO: вам нужно разобраться со случаем, когда ваша строка является последней вещью в документе)

Для удаления содержимого:

myRange.Delete
...