|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.05.2013, 17:00 | #1 |
Пользователь
Регистрация: 19.05.2013
Сообщений: 24
|
Проблема с SendKeys
Нужно запустить из макроса диалог поиска и замены, причем курсор должен оказаться в начале поля замены.
Если вызвать Dialogs(wdDialogEditReplace).Show, то после выполнения замены появляется сообщени об ошибке. Кроме того, я не знаю как перемещать курсор внутри диалогового окна. Если же вызывать диалог с помощью SendKeys "^h", все отлично, и следующие за ним SendKeys "{TAB}" SendKeys "{HOME}" ставят курсор в нужное место, но возникает другая проблема: все это работает только, в том случае, если в момент вызова раскладка клавиатуры английская, если же русская - вместо вызова диалога в документ впечатываются "h" и знак табулятора. Если принципиального решения не существует, то может кто-нибудь подскажет, как написать скрипт для определения и управления раскладкой клавиатуры. ЗарСпасБол! |
21.05.2013, 17:11 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Vadim39, зачем вам вызывать окно "Найти и заменить" с помощью макросов? В VBA-Word есть объект "Find", который аналог окну "Найти и заменить".
|
21.05.2013, 19:31 | #3 |
Пользователь
Регистрация: 19.05.2013
Сообщений: 24
|
Дело в том, что мне нужно создать рабочую среду для редактора. Скрипт работает таким образом, что находясь на определенном слове и запустив его он получает подготовленный диалог для замены, в котором, возможно, ему придется подкорректировать поле "Заменить на:".
В принципе, мне удалось решить эту проблему, но совершенно идиотским способом: назначил вызов диалога замены на Ctrl_0. Почему-то SendKeys "^0" запускается из макроса при любой раскладке. В процессе экспериментов выяснилось, что если назначить на F11, диалог не вызывается при любой раскладке клавиатуры... Полный бред |
21.05.2013, 19:54 | #4 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Код:
Последний раз редактировалось Скрипт; 21.05.2013 в 20:04. |
|
21.05.2013, 20:40 | #5 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Код:
Последний раз редактировалось Скрипт; 21.05.2013 в 20:43. |
|
21.05.2013, 21:19 | #6 |
Пользователь
Регистрация: 19.05.2013
Сообщений: 24
|
Большое спасибо!
А возможно ли с помощью Application.Keyboard управлять также и раскладками (внутри одного языка)? Отдает-то он числа разные для разных раскладок, а вот включает только одну. Имеется в виду, что если запускать эту процедуру с разными числами, соответствующими различным раскладкам внутри одного языка, переключение происходит только на одну из них, вероятно первую. |
21.05.2013, 21:52 | #7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Vadim39, вы встречали людей, которые используют раскладку клавиатуры?
|
21.05.2013, 22:01 | #8 |
Пользователь
Регистрация: 19.05.2013
Сообщений: 24
|
Встречал ли я самого себя? Довольно философский вопрос
Мне нередко приходится работать с двуязычными текстами, один из языков английский, другой может варьироваться. В русский я добавляю дополнительную раскладку второго языка. В таком случае, переключение между языками - alt+shift. А между раскладками - contral+shift. На мой вкус, так гораздо удобнее, чем всякий раз переключаться одной комбинацией клавиш между тремя и более состояниями. |
21.05.2013, 22:04 | #9 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Vadim39, т.е. допустим вы используете русский язык и у вас два варианта расположения клавиш для русского языка?
|
21.05.2013, 22:08 | #10 |
Пользователь
Регистрация: 19.05.2013
Сообщений: 24
|
Нет, просто вместо второго варианта расположения клавиш я подключаю раскладку, взятую из набора другого языка.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле | mnx_vol | C/C++ Сетевое программирование | 0 | 06.11.2012 13:57 |
Проблема с SendKeys | termitru | Win Api | 1 | 26.07.2011 22:21 |
Где найти модуль SendKeys? | saylar_06 | Общие вопросы Delphi | 4 | 29.05.2011 19:20 |
application.sendkeys "~" | ruavia3 | Microsoft Office Excel | 1 | 12.02.2010 16:24 |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |