На многие "классические" задачи в сети уже есть ответы
Я учу.
Но много времени уходит на такой неэффективный копипастинг, если я пару рабочих строк в день напишу - большой успех.
Ладно, пойду дальше
Дополнено:
Вот, уже кое-что:
Range, TextRange и Selection на Fastcoder.org