AHK separa várias linhas da área de transferência

0

Estou tentando fazer uma macro AHK simples.

O que eu preciso é seguir:

O usuário copia várias linhas de números

por exemplo

1234
12345
123125
12512
123123

meu código precisa ler da área de transferência e executar a seguinte ação: 1234 {enter} 12345 {enter} 12512 {enter} 12512 {enter} 123123 {enter} fim.

O número de linhas não está definido. Isso deve depender do tamanho dos dados que estão na área de transferência.

Obrigado pela sua ajuda.

    
por Eddy Choi 17.05.2014 / 05:49

1 resposta

1

Você tentou procurar no arquivo de ajuda do AutoHotkey.chm do AutoHotkey? Ele pode ser aberto a partir do menu Iniciar, do menu do ícone da barra de tarefas do AHK ou do diretório onde você instalou o AHK e é muito útil. Se você procurar por "área de transferência", a primeira coisa que surge é um exemplo de como dividir a área de transferência em linhas:

Loop, parse, clipboard, 'n, 'r
{
    MsgBox, 4, , File number %A_Index% is %A_LoopField%.'n'nContinue?
    IfMsgBox, No, break
}

Para o seu caso de uso, ele deve ser um pouco modificado da seguinte forma:

#SingleInstance Force
+^v::
Loop, parse, clipboard, 'n, 'r
{
    SendRaw, %A_LoopField%
    Send {Enter}
}
return

Você pode testá-lo no Excel, comparando F2 , SHIFT + Inserir e F2 , SHIFT + CONTROLE + V .

Se você quiser que a tecla de atalho seja SHIFT + Inserir , mude a segunda linha para

+Insert::
    
por 17.05.2014 / 11:44

Tags