|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - Как выделить слово без пробела в конце |
|
2007 - Как выделить слово без пробела в конце
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Очень раздражает, что выделение посредством клавиатуры (Ctrl+Shift+Стрелка вправо) приводит к выделению не только самого слова, но также пунктуации и пробела, следующего за ними. Как выделять слово само по себе, без пунктуационных знаков и пробела?
P.S. Я знаю, что это поведение присуще многим windows-программам. На мой взгляд, такое поведение выделения для последующего копирования-вставки в другие приложения крайне неудобно. P.P.S. Я знаю про Shift+Стрелка влево, однако это костыль и использовать его по 100500 раз в день напрягает. Мне нужно постоянное решение - что угодно: макрос, скрипт, внешнее приложение. |
|
Отправлено: 01:29, 31-07-2014 |
Динохромный Сообщения: 690
|
Профиль | Отправить PM | Цитировать vanvanov, объектную модель ворда я представляю смутно, с бедра на вскидку - такой код:
Sub Select_word() Dim strTxt As String Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend strTxt = Right(Selection.Text, 1) Select Case strTxt Case ".", ",", " ", "!", "?" Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend End Select End Sub Соответственно, возможен вариант, чтобы курсор стоял в любом месте слова, тут однако код работает не совсем корректно в граничных условиях (при выделении в начале документа, скобочки и т.д.), если есть желание потестировать - попробуйте код ниже (остановить выполнение кода можно сочетанием ctrl+break , если вдруг зависнет) |
Последний раз редактировалось a_axe, 31-07-2014 в 13:22. Отправлено: 12:16, 31-07-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать a_axe, спасибо большое! Ваш код работает (я пробовал 1-й вариант), однако, тут возникла другая проблема. Я назначил на макрос Ctrl+Shift+Стрелка вправо, чтобы использовать универсальные сочетания клавиш. Но раньше я мог зажать Ctrl+Shift и выделять соседние слова с помощью стрелки вправо, а теперь таким образом выделяется только текущее слово. Может, как-нибудь можно прописать дальнейшее выделение с помощью стрелки вправо?
|
Отправлено: 00:42, 01-08-2014 | #3 |
Динохромный Сообщения: 690
|
Профиль | Отправить PM | Цитировать vanvanov, если вас утроит ограничение, что на словах из одного символа (в смысле предлоги "и", "в", "о" и т.п.) код будет останавливаться и курсор нужно будет передвинуть стрелочкой вручную, то:
Sub Select_word() Dim strTxt As String If Len(Selection.Text) <> 1 Then Selection.MoveRight Unit:=wdCharacter, Count:=2 End If Select Case Selection.Text Case ".", ",", " ", "!", "?" Selection.MoveRight Unit:=wdCharacter, Count:=1 End Select Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend strTxt = Right(Selection.Text, 1) Select Case strTxt Case ".", ",", " ", "!", "?" Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend End Select End Sub |
Последний раз редактировалось a_axe, 01-08-2014 в 02:46. Отправлено: 02:35, 01-08-2014 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать a_axe, это уже ближе к истине, но не совсем то. Можно ли использовать стрелку вправо не для сдвига выделения на одно слово, а для расширения уже существующего выделения еще на одно слово (но без пробелов, пунктуации на конце)? Я сделал анимированный GIF, который показывает, как в моем представлении это должно происходить:
|
|
Отправлено: 16:45, 01-08-2014 | #5 |
Пользователь Сообщения: 64
|
Профиль | Отправить PM | Цитировать Шли годы, а решения так и нет.
Скажите в 10 винде это проблема осталась, а в 11 ? (ну то есть повод обновлять есть или нет, ну они же сделали копипасту в консоле) |
Отправлено: 19:36, 24-10-2021 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Выделить из строки текста слово определенной длины и записать в переменную | Grafitchic | Скриптовые языки администрирования Windows | 14 | 16-07-2014 12:23 | |
2010 - Хочу все знать о WORD 2010 часть 6: выделение слова без пробела после слова | test2235 | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 02-11-2013 22:20 | |
Все знают про обьеденение строк ('слово'&'еще слово'), а есть ли способ исключениеня? | tweakos | AutoIt | 3 | 15-07-2009 09:52 | |
C/C++ - посчитать количество символов без пробела | ShadowMas | Программирование и базы данных | 5 | 07-05-2009 10:51 | |
php функция переноса строки без учета пробела | dima1981 | Вебмастеру | 5 | 16-11-2008 10:29 |
|