Страница: 1 |
Страница: 1 |
Вопрос: Selection.Delete удаляет лишнее
Добавлено: 30.03.07 11:14
Автор вопроса: Алексей
Уважаемые форумчане, я в VBA - новичок, столкнулся со следующей проблемой.
У меня в Ворде есть строка вида:
...; <текст>; ...
Я ищу в ней шаблон <текст>. Выделяю его, затем делаю Selection.Delete в надежде на то, что то, что останется будет выглядеть следующим образом:
...; ; ...
Но при удалении выборки почему-то удаляется и нужный мне пробел. То есть конечная строка выглядит вот так:
...;; ...
Подскажите пожалуйста, как можно обойти это автоматическое удаление пробельных символов?
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #1
Добавлено: 30.03.07 11:51
а ты замени " <текст>" на " "
Номер ответа: 2
Автор ответа:
Алексей
Вопросов: 1
Ответов: 2
Профиль | | #2
Добавлено: 30.03.07 13:51
Это решение подходит только к одной конкретно данной ситуации. В целом же оно работать не будет. Ведь заранее не известно, в каком окружении находится искомый шаблон. Задача стоит в том, чтобы шаблон удалялся БЕЗ изменения окружающей его строки.
Номер ответа: 3
Автор ответа:
bi-lya
Вопросов: 1
Ответов: 125
Профиль | | #3
Добавлено: 30.03.07 16:10
Если удаляется на одно и то же количество символов можно применить к Selection это:
Номер ответа: 4
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #4
Добавлено: 30.03.07 16:55
Это поведение регулируется параметром Application.Options.SmartCutPaste (можно было и догадаться).
Номер ответа: 5
Автор ответа:
Алексей
Вопросов: 1
Ответов: 2
Профиль | | #5
Добавлено: 30.03.07 18:37
Ага. Спасибо
Именно так я и сделал.
bSmartCutBackup = Options.PasteSmartCutPaste
Options.PasteSmartCutPaste = False
...
Options.PasteSmartCutPaste = bSmartCutBackup
Догадался сам, только не сразу.
Не мог предположить, что сам коварный ворд ВОТ ТАК рулит программой