|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.06.2010, 18:11 | #1 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 18
|
Как избежать Selection?
Стал использовать в Ворде макросы. Но в нём все действия (по записям макрорекордера и в справке) происходят с помощью Selection. В Экселе можно не использовать Selection, указывая на адрес ячейки с помощью Cells или Range.
Можно ли подобным образом, как в Экселе, избежать использования Selection в Ворде и как это сделать? Тогда бы сократилось время кода. Всё-таки Selection сильно тормозит программу. |
20.06.2010, 01:34 | #2 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
совершенно верно. можно range использовать.
дайте пример кода с селекшен - переиначим |
20.06.2010, 18:46 | #3 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 18
|
Вот код. Он в файле Экселя. Но предназначен для работы в Ворде.
|
20.06.2010, 22:15 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Не думаю, что в данном случае отход от Selection поможет увеличить быстродействие, т.к. на каждом шаге поиска выполняются дополнительные действия.
Выделение снимается процедурой Collapse: 1 — свернуть выделение к началу, 0 — к концу: Код:
Лучше день потерять — потом за пять минут долететь!©
|
21.06.2010, 14:32 | #5 | |
Пользователь
Регистрация: 11.07.2009
Сообщений: 18
|
Цитата:
Ведь Collapse, он ведь тоже Selection!!! И снимется ли выделение или нет - время на это будет потеряно. Я ведь правильно понимаю? Кстати, Ждал именно вашего ответа, viter.alex. По рекомендации.... |
|
21.06.2010, 15:02 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Я же говорю, в твоём макросе быстродействие определяется не тем, что работаешь через Selection, а тем, что после поиска, ты работаешь с каждым найденным фрагментом. Кстати, если в данном случае использовать Range, то получится не так удобно. Я вот думаю, а может стоит нужные фрагменты помещать в закладки, а потом читать данные из закладок? Но вряд ли это увеличит быстродействие.
Лучше день потерять — потом за пять минут долететь!©
|
21.06.2010, 16:08 | #7 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 18
|
Если ты заметил, я использую закладки после. Когда открываю другой документ (Программу) и пробегая по столбцам Экселя вставляю в этот документ с помощью закладок. Может быть, Эксель здесь вообще лишний? Но на экране, при работе макроса, видно только мельтешение в Ворде, как он находит, выделяет, пробегает по столбцам таблиц и т.д., а изменений в Экселе не видно, потому что без Select.
|
21.06.2010, 16:22 | #8 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
так отключи обновление экрана, или вообще скрой приложение на время работы
Лучше день потерять — потом за пять минут долететь!©
|
21.06.2010, 16:27 | #9 | |
Пользователь
Регистрация: 11.07.2009
Сообщений: 18
|
Цитата:
Вобщем, спасибо за помощь. Хоть я и не понял, как же можно избавиться от селекшн. |
|
21.06.2010, 16:54 | #10 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
У объекта Selection есть свойство Range, вот от него и нужно плясать, если начинать работать с активным документом. А вообще Selection и Range почти одно и то же, только Selection — это то, что мы видим на экране, а Range, так сказать, внутреннее представление. Хотя есть и отличия в методах, скажем разрыв стиля можно вставить только для Selection.
Пример, как можно было бы вести поиск в твоём случае с использованием Range: Код:
Лучше день потерять — потом за пять минут долететь!©
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бот - как избежать слежки? | boris-blade | Win Api | 9 | 28.12.2009 09:11 |
Как избежать бана со стороны сервера за запросы | AndrzejX | Работа с сетью в Delphi | 2 | 07.12.2009 17:03 |
как избежать кэширования в Опере | rolling | PHP | 3 | 01.12.2009 18:34 |
Selection - как объеденить??? | Sensygirl | Microsoft Office Excel | 8 | 05.10.2009 18:03 |
Как перейти selection-ом в конец документа? | Diego__ | Microsoft Office Word | 4 | 26.08.2009 18:16 |