Execute a macro continuamente quando o botão QAT for pressionado

Execute a macro continuamente quando o botão QAT for pressionado

Adicionei duas macros à "Barra de ferramentas de acesso rápido" (QAT). As macros servem para navegar para a esquerda e para a direita na planilha, como quando você pressiona as setas no canto inferior direito da pasta de trabalho. Quando você os pressiona, eles mudam as células para a esquerda e para a direita, uma célula por vez; você precisa continuar clicando neles para continuar movendo para a esquerda (ou direita). Eu gostaria de fazê-los funcionar continuamente, como quando você pressiona as setas no canto inferior direito; o Excel continua mudando de coluna quando a seta é pressionada e para quando você a solta. A macro precisa continuar em execução (alterando células) quando o clique do mouse é pressionado e para quando eu o solto. Isso é possível, essa funcionalidade pode ser adicionada aos botões do QAT.

Responder1

Isso pode ser feito usando o onipresenteAutoHotkey.

Primeiro passo: Encontre o atalho de teclado das macros no QAT.

Pressione ALTpara exibir os números de atalho dos itens QAT, fornecendo o atalho Alt+ numberpara o item. Digamos que o número do seu item QAT fosse 8.

Segundo passo: Crie um script AutoHotkey para executar continuamente o item QAT.

O código a seguir será ativado pressionando longamente a F12tecla. Ele enviará para Excel Alt+ 8a cada meio segundo até que a F12tecla seja liberada

Copie o seguinte em um .ahkarquivo, possivelmente alterando “F12” e “8”. Clique duas vezes no arquivo para iniciá-lo em execução. Isso criará um ícone “H” verde na barra de bandeja no qual você pode clicar com o botão direito e selecionar Exitpara parar. Se você sempre deseja que esse script seja executado, copie-o para a pasta de inicialização do usuário em C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

SetTitleMatchMode, 2
#IfWinActive Excel

F12::
Loop:
KeyWait, F12, T0.5
err := Errorlevel
if (err) {
  Send, {LAlt}8
  Goto, Loop
}
return

informação relacionada