Remapeando “Ctrl Shift Z” como “Ctrl Y” no Excel com AutoHotKey

1

Estou no Windows 8.1 usando o MS Excel 2013 e estou usando este script AutoHotKey ...

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

para remapear "Ctrl Shift Z" como "Ctrl Y", para executar ... edit > > Refazer, em alguns programas do Windows que usam "Ctrl Y" para fazer isso. Então, quando eu pressiono "Ctrl Shift Z" nesses programas, o AHK envia "Ctrl Y" e eu recebo o comando Refazer.

Mas no Excel isso só funciona se eu estiver trabalhando em * .xlsx, não se eu estiver trabalhando em um * .xlsb, se eu pressionar "Ctrl Shift Z" em um * .xlsb ele não funcionar em todos. Por que isso?

    
por litu16 04.05.2016 / 21:01

2 respostas

0

Tente alterar a instrução de envio para ^ y.

$^+z::Send ^y

O Excel pode estar emitindo bips se achar que Shift+Ctrl+y está pressionado, o que pode ser o caso se você estiver mantendo o deslocamento para a primeira tecla modificadora e, em seguida, enviando {RCtrl Down} explicitamente.

Se o AutoHotkey sabe que você está enviando um combo de teclas, ele irá desfazer / refazer as teclas modificadoras automaticamente, mas talvez você não esteja fazendo isso por você, e talvez o Excel veja Shift+Ctrl+z e apita.

    
por 07.05.2016 / 07:21
0

tente isto:

    $^+z::
        SetKeyDelay -1
        Send {RCtrl Down}
        Send y
        Send {RCtrl Up}
    return
    
por 07.05.2016 / 07:29