1

Я на Windows 8.1 с использованием MS Excel 2013, и я использую этот скрипт AutoHotKey ...

$^+z::
    SetKeyDelay -1
    Send {RCtrl Down}y{RCtrl Up}

переназначить "Ctrl Shift Z" как "Ctrl Y", чтобы выполнить ... edit >> Вернуть, в некоторых программах Windows, которые используют "Ctrl Y" для этого. Поэтому, когда я нажимаю "Ctrl Shift Z" в этих программах, AHK вместо этого отправляет "Ctrl Y", и я получаю команду Redo.

Но в Excel это работает только, если я работаю с * .xlsx, не если я работаю с * .xlsb, если я нажимаю "Ctrl Shift Z" на * .xlsb, это не работает вообще. Это почему?

2 ответа2

0

Попробуйте изменить оператор отправки на ^ y.

$^+z::Send ^y

Excel может подать звуковой сигнал, если думает, что нажаты Shift+Ctrl+y , что может быть в том случае, если вы удерживаете нажатой клавишу shift для первой клавиши-модификатора, а затем отправляете {RCtrl Down} явно.

Если AutoHotkey знает, что вы отправляете комбинацию клавиш, он автоматически отменит / отменит клавиши-модификаторы для вас, но, возможно, поскольку вы отправляете явный RCtrl Down, он не сделает этого за вас, и, возможно, Excel просто видит Shift+Ctrl+z и гудки.

0

попробуй это:

    $^+z::
        SetKeyDelay -1
        Send {RCtrl Down}
        Send y
        Send {RCtrl Up}
    return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .