1

Тема: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Здравствуйте.
Помогите решить проблемку, пожалуйста. В Word2010 есть надстройка, которая создает свою группу на ленте. В группе имеется команда (отсутствующая в списке Все команды), которую в силу частого использования я вынес на панель быстрого доступа. Как известно, кнопки панели быстрого доступа можно активировать через клавиатуру, нажав Alt и далее высветившуюся в соответствии с этой кнопкой цифру или букву. А как мне изменить это предлагаемое вордом сочетание клавиш и назначить более удобное?

2

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Weight_lifter пишет:

Здравствуйте.
В группе имеется команда (отсутствующая в списке Все команды), которую в силу частого использования я вынес на панель быстрого доступа.

Добрый день,
Подскажите, пожалуйста, откуда взялась команда, отсутствующая в списке Все команды?
Могу предположить, что это - созданный Вами макрос.
В любом случае, Вы можете присвоить команде или макросу некоторое новое сочетание клавиш на вкладке Настройка ленты в окне Параметры Word.
Если будут вопросы или уточнения - пишите.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Добрый день. Благодарю за ответ.
Нет, это не макрос, это COM-надстройка стороннего приложения (Promt для Microsoft Office), которая имеет собственную вкладку с командами (с именем "Переводчик Promt"). Но они не попадают ни в раздел макросы, ни в другие разделы команд. Соответственно, я не могу назначать им свои сочетания клавиш в настройке ленты.
Повторюсь, единственное, чего мне удалось на данный момент добиться в плане "клавиатуризации" вызова нужной команды - это вынести ее на панель быстрого доступа и пользоваться принудительной вордовской комбинацией Alt+"цифра". Решение имеет право на жизнь, но такой комбинацией пользоваться неудобно.

4

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Weight_lifter пишет:

Добрый день. Благодарю за ответ.
Нет, это не макрос, это COM-надстройка стороннего приложения (Promt для Microsoft Office), которая имеет собственную вкладку с командами (с именем "Переводчик Promt"). Но они не попадают ни в раздел макросы, ни в другие разделы команд. Соответственно, я не могу назначать им свои сочетания клавиш в настройке ленты.
Повторюсь, единственное, чего мне удалось на данный момент добиться в плане "клавиатуризации" вызова нужной команды - это вынести ее на панель быстрого доступа и пользоваться принудительной вордовской комбинацией Alt+"цифра". Решение имеет право на жизнь, но такой комбинацией пользоваться неудобно.

К сожалению, другой возможности создать горячие клавиши для надстройки я тоже не вижу.
Есть еще вариант - через Alt и открытие вкладки (для моих надстроек это будет, например, Alt+ Н + Э1), но Ваш вариант короче и лучше.

Есть еще идея создать макрос, выполняющий нажатие клавиш Alt+"цифра", но я пока не знаю, можно ли это сделать.
Этому макросу Вы, в свою очередь, можете присвоить горячие клавиши.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Нашел возможность имитации нажатий клавиш!
Например, нажатие клавиш Alt+5:

Sub Alt_5()
    SendKeys "%{5}"
End Sub

% - в этом операторе обозначает Alt.

Данному макросу присваиваете комбинацию горячих клавиш обычным способом - и все!

Подробнее об имитации нажатий - см. внешняя ссылка

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

6

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Не работает. В смысле, на штатных сочетаниях работает (типа, Alt+F4), а просто на цифрах не работает. Если попытаться имитировать нажатие русских букв - макрос вообще выдает ошибку.

7

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Weight_lifter пишет:

Не работает. В смысле, на штатных сочетаниях работает (типа, Alt+F4), а просто на цифрах не работает. Если попытаться имитировать нажатие русских букв - макрос вообще выдает ошибку.

У меня сработало.
Запускать этот макрос надо не из редактора, а из Word'a.
Какая у Вас версия Word?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

8

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

2010
Создал ровно такой макрос, как Вы написали, вывел его на ленту в свою пользовательскую группу, запускаю, и... тишина. Если вместо цифры на панели доступа (в моем случае, 1) пытаюсь задать комбинацию букв и цифр для доступа к той же команде с ленты (в моем случае это Э1Э4), то вообще выдается ошибка.

9

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Weight_lifter пишет:

2010
Создал ровно такой макрос, как Вы написали, вывел его на ленту в свою пользовательскую группу, запускаю, и... тишина. Если вместо цифры на панели доступа (в моем случае, 1) пытаюсь задать комбинацию букв и цифр для доступа к той же команде с ленты (в моем случае это Э1Э4), то вообще выдается ошибка.

Странно...
Проверил на версии 2010.
У меня работает.
Для Alt+1 получается макрос:

Sub Alt_1()
    SendKeys "%{1}"
End Sub

С русскими буквами у меня тоже работает. Следующий макрос открывает спецвставку:

Sub Alt_Я()
    SendKeys "%{Я}{М}{Т}"
End Sub

Для Alt+Э+1 получится макрос:

Sub Alt_Э()
    SendKeys "%{Э}{1}"
End Sub

Попробуйте запустить макрос из вкладки Разработчик.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

10

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

Еще имеется программная возможность назначения горячих клавиш с помощью макроса
(подробнее см. http://wordexpert.ru/forum/viewtopic.php?id=2219)

Макрокоманда, назначающая «горячие клавиши», имеет следующий принципиальный вид:

    CustomizationContext = NormalTemplate
    KeyBindings.Add KeyCode:=BuildKeyCode(<Сочетание_клавиш>), _
        KeyCategory:=wdKeyCategoryCommand, Command:="<Наименование_команды/макроса>"

Элемент <Сочетание_клавиш>:
wdKey<Буква/цифра>, [wdKeyControl,] [wdKeyShift,] [wdKeyAlt]
где:
- wdKey<Буква/цифра> – нажатие клавиши, соответствующей указанной букве или цифре,
- wdKeyControl – нажатие клавиши Ctrl,
- wdKeyShift – нажатие клавиши Shift,
- wdKeyAlt – нажатие клавиши Alt.

Например:
wdKeyS, wdKeyControl – сочетание клавиш Ctrl+S
wdKeyQ, wdKeyControl, wdKeyAlt – сочетание клавиш Ctrl+Alt+Q
wdKeyP, wdKeyControl, wdKeyShift, wdKeyAlt – сочетание клавиш Ctrl+Shift+Alt+P

Элемент <Наименование_команды/макроса> можно взять из окна Настройка клавиатуры (для Word 2013: Файл – Параметры – Настроить ленту – Настройка…). Например:
FileSave – команда сохранения файла
InsertPicture – вставка рисунка из графического файла и т.д.

Для описания наименования макроса используется следующая конструкция:
<Имя_шаблона.Имя_модуля.Имя_макроса>
Указанные параметры можно найти в окне редактора VBA.
Например:
Normal.NewMacros.CompletePreparationSelection – шаблон Normal.dotm, модуль (обычно в разделе Modules) NewMacros, макрос CompletePreparationSelection.

Пример модуля, назначающего «горячие клавиши»:

Sub HotKeys()
'
    CustomizationContext = NormalTemplate
    KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyQ, wdKeyControl, wdKeyAlt), _
        KeyCategory:=wdKeyCategoryCommand, Command:="DocEncryption"
     ' Команде DocEncryption назначается сочетание клавиш Ctrl+Alt+Q 

    CustomizationContext = NormalTemplate
    KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyS, wdKeyControl), KeyCategory:= _
        wdKeyCategoryCommand, Command:="FileSave"
     ' Команде FileSave назначается сочетание клавиш Ctrl+S 

    CustomizationContext = NormalTemplate
    KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyP, wdKeyControl, wdKeyShift, _
        wdKeyAlt), KeyCategory:=wdKeyCategoryCommand, Command:="Normal.NewMacros.CompletePreparationSelection"
     ' Макросу Normal.NewMacros.CompletePreparationSelection назначается сочетание клавиш Ctrl+Shift+Alt+P: 

End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

11

Re: Переназначение сочетания клавиш кнопке на панели быстрого доступа

А название команды попробуйте найти в окне вызова макросов:
Разработчик - Макросы - Макросы из:<Наименование_надстройки>

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.