Ma c Сочетания клавиш с немецкими умляутами - PullRequest
1 голос
/ 21 июня 2020

Я знаю, как привязать ключ к подпрограмме в VBA для Ma c (Word 2016 et c.). Но я не могу найти способ сделать это с немецкими умляутами. Я уже создал код для привязки всех 255 вариантов wdKey к коду, но это тоже не дало мне решения. Клавиши ä, ö, ü на моей клавиатуре никогда не запускают никаких событий.

Я буду рад любому совету.

1 Ответ

0 голосов
/ 22 июня 2020

Я не думаю, что это возможно.

Некоторые примечания:

Похоже, вы задали аналогичный вопрос здесь в 2012 году, и предложение там что проблема в том, что эти ключи не могут быть назначены в Word, только в ОС Ma c, все еще кажется верным. Однако это, по-видимому, означает, что вы можете назначить только комбинацию клавиш, которую Ma c OS позволяет вам назначать, существующему пункту меню Word. Таким образом, вы можете использовать этот механизм для присвоения ctrl-ö расширенному символу ..., но вы не можете использовать этот механизм для назначения ctrl-ö внутреннему имени команды Word, а я не думаю, что вы можете назначить ö самостоятельно чему-либо.

В Windows Word мне удалось назначить alt-ö, alt-ä и alt-ü для InsertSymbol в Word, но нажатия клавиш Word на самом деле , назначенные этой команде, были wdKeyBackSingleQuote, wdKeySingleQuote и wdKeySemiColon со смещением Alt.

Попытка использовать те же назначения клавиш в Ma c VBA не работают.

На моей (британской) клавиатуре фактические клавиши, используемые для ö, ä и ü, - это SemiColon, Comma и LeftSquareBracket. Даже на клавиатуре US Engli sh я думаю, что это SemiColon, SingleQuote и LeftSquareBracket, поэтому неясно, почему Word назначает именно эти коды. Я думаю, вам, вероятно, придется понять, как DOS и Widnows и Word работают с кодами сканирования клавиатуры, чтобы понять это, и на Ma c это, конечно, будет по-другому.

Для тех, кто хочет продолжить изучение, вы можете использовать VBA для переназначения ключа без использования BuildKeyCode, например:

Dim i As Integer
i = 1022
KeyBindings.Add KeyCode:=i, _
  KeyCategory:=wdKeyCategoryCommand, _
  Command:="InsertSymbol"

Некоторые значения i вызывают команду «Недействительный параметр», а другие - 5346 «Word не может изменить функцию указанного ключа ». Большинство из этих значений i, вероятно, просто представляют «базовое нажатие клавиши», такое как «A», либо само по себе, либо в сочетании с одним или несколькими сдвигами, такими как Shift, Alt и т. Д. c., Но без изучения каждого возможного значения of i, который не вызывает ошибки, трудно быть уверенным, что других возможностей нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...