Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 9 ]
- Зарегистрирован: 10.01.2010
- Сообщений: 63
Тема: несколько выделений - как определить наличие
Приветствую!
Задача: единообразно обработать несколько кусков текста, выделенных в разных местах документа/абзаца.
Проблема: как определить, что такое выделение присутствует? Что выделено именно больше одного непрерывного куска текста?
Пример (жирный тэг имитирует выделение):
Жирная лиса схватила сыр и подавилась.
То есть, я выделяю последовательно эти куски текста (удерживая ctrl), затем нажимаю кнопочку своего макроса и все они одновременно и единообразно обрабатываются, как если бы я при этом нажал ctrl+B, к примеру и получил для всех слов полужирное выделение.
Что-то из области Selection.Type?
Заранее благодарен.
Подспудно: для обработки не выделенного руками слова использую
Selection.Range.Words.First
при этом в range попадает и пробел следом. Как этого избежать? Поигрался с настройками Ворда (учитывать пробелы - отключил) не помогло.
![несколько выделений - как определить наличие несколько выделений - как определить наличие](http://wordexpert.ru/forum/img/avatars/48.png)
- Вождь
- Модератор
- Неактивен
- Зарегистрирован: 07.01.2010
- Сообщений: 745
- Поблагодарили: 181
Re: несколько выделений - как определить наличие
Используйте выделение текста цветом.
В Вашем случае это даже удобнее чем обычное выделение.
Макрос для пробелов в конце слов:
Public Sub Selection_TrimWord()
' уменьшить выделенную область на пустые символы, включаемые в слова
On Error Resume Next
If Selection Is Nothing Then Exit Sub
If Selection.Type = wdSelectionIP Then Exit Sub
Dim N&
N = Selection.Characters.Count
If N <= 0 Then Exit Sub
Selection.MoveEndWhile Cset:=ChrW$(32) & ChrW$(160), Count:=-N
End Sub
Отредактировано Вождь (01.03.2010 01:17:00)
Макросы под заказ и готовый пакет - mtdmacro.ru
- Зарегистрирован: 10.01.2010
- Сообщений: 63
Re: несколько выделений - как определить наличие
Вождь пишет:Set R = Selection.Range
Спасибо, как всегда, за скорую помощь. К сожалению ваш вариант не работает: в перем. "R" попадает лишь последний выделенный кусок, что автоматически делает его равным выделению методом ShrinkDiscontiguousSelection.
А как же работает внутренняя команда ворда "применить курсив" и т.д. сразу ко всем "разрывно" выделенным кускам текста? Хочется написать что-то вроде for each sellection in activedocument.selections
...
- Зарегистрирован: 10.01.2010
- Сообщений: 63
Re: несколько выделений - как определить наличие
А возможно ли записать в пер. range диапазон, соответствующий текущему экрану (то, что на нем видно)? Кажется, это было где-то на этом сайте, но я не смог найти...
![несколько выделений - как определить наличие несколько выделений - как определить наличие](http://wordexpert.ru/forum/img/avatars/6.jpg)
- viter.alex
- Модератор
- Неактивен
- Откуда: Харьков, Украина
- Зарегистрирован: 21.12.2009
- Сообщений: 884
- Поблагодарили: 140
Re: несколько выделений - как определить наличие
В Word эта команда работает просто:
Selection.Font.Italilc = True
И совсем неважно сколько фрагментов в выделении.
Лучше день потерять — потом за пять минут долететь!
![несколько выделений - как определить наличие несколько выделений - как определить наличие](http://wordexpert.ru/forum/img/avatars/6.jpg)
- viter.alex
- Модератор
- Неактивен
- Откуда: Харьков, Украина
- Зарегистрирован: 21.12.2009
- Сообщений: 884
- Поблагодарили: 140
Re: несколько выделений - как определить наличие
В Word эта команда работает просто:
Selection.Font.Italilc = True
И совсем неважно сколько фрагментов в выделении.
Лучше день потерять — потом за пять минут долететь!
![несколько выделений - как определить наличие несколько выделений - как определить наличие](http://wordexpert.ru/forum/img/avatars/2.jpg)
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: несколько выделений - как определить наличие
Денис пишет:А возможно ли записать в пер. range диапазон, соответствующий текущему экрану (то, что на нем видно)? Кажется, это было где-то на этом сайте, но я не смог найти...
Вот ссылка: Шаблон “Быстрое выделение”
![несколько выделений - как определить наличие несколько выделений - как определить наличие](http://wordexpert.ru/forum/img/avatars/2.jpg)
- admin
- Администратор
- Неактивен
- Откуда: Земля
- Зарегистрирован: 15.12.2009
- Сообщений: 508
- Поблагодарили: 39
Re: несколько выделений - как определить наличие
А так выделяем видимую часть экрана:
Sub selWindow()
'выделение видимой части экрана
Selection.MoveUp wdWindow, 1, wdMove
Selection.MoveDown wdWindow, 1, wdExtend
End Sub
- Зарегистрирован: 10.01.2010
- Сообщений: 63
Re: несколько выделений - как определить наличие
viter.alex пишет:И совсем неважно сколько фрагментов в выделении.
Да, действительно! Что-то я не подумал. Но у меня посложнее ситуация: мне требуется вокруг каждого выделения вставить, скажем, некие теги. Тем не менее, спасибо вам за идеи. Буду делать так: форматировать, скажем, цветом, выделения, затем производить их обработку в диапазоне видимой части экрана (спасибо, admin), чтобы не трогать весь документ. Не столь изящно, как мне виделось. Думал, ворд умеет как-то запоминать выделенные в разном месте области...
Так все-таки нет способа узнать, одно выделение или несколько?
Сообщений [ 9 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
несколько выделений - как определить наличие
Кто-то воспринимает компьютер, как рабочий инструмент, кто-то считает его окном в мир, кто-то в восторге от всех глубин и тайн высокоинтеллектуальной железки, а кому-то и дела нет, как он там внутри устроен, лишь бы работал. Наш сайт о Microsoft Office Word даст ответ про: запретить номер строки ms word.
Но всем, так или иначе, приходилось вспомнить, что «вначале было слово». Вряд ли найдется хоть один человек, кто, имея компьютер, ни разу ничего не напечатал. На портале о Microsoft Office Word вы узнаете про: маленькая картинка книг для вставки в ворд.
А какая для этого программа стоит у большинства? Правильно - Microsoft Word.
Вы считает себя экспертом или просто научились набирать 33 буквы на клавиатуре, открывать и сохранять документ? На портале о Microsoft Office Word вы узнаете про: как в 2007 убрать номер страницы с титульного листа.
Работаете по-старинке с 2003 или у вас новейшая версия? Для всех полезной будет информация, которой в достатке на форуме сайта Ворд Эксперт. На портале о Microsoft Office Word вы узнаете про: как начать нумерацию с другой страницы.
На нашем форуме можно прочитать о том, как необычно применить привычные функции, и что есть новенького, с чем вы не сталкивались. Наш сайт о Microsoft Office Word даст ответ про: как выделить только таблицы.
Оригинальные решения, позволяющие экономить время, ответы на вопросы по любой версии. Если хотите заняться программирование, то перечень литературы к вашим услугам. На портале о Microsoft Office Word вы узнаете про: где найти word 2007.
Просто полезных книг на форуме упоминается тоже много.
Кстати, о программировании. Это не такая жуткая вещь, как кажется. На портале о Microsoft Office Word вы узнаете про: укак написать макрос для защиты документа.
Мини-программирование в виде макросов может освоить любой ребенок. На форуме вы найдете, как их описания, так и готовые решения. На портале о Microsoft Office Word вы узнаете про: как изменить ориентацию страницы в worde 2003.
А кому не охота возиться, оставляйте заявку – зубры помогут. Удачи вам!