Я пытаюсь сделать простой макрос AHK.

Что мне нужно, это следующее:

Пользователь копирует несколько строк цифр

например

1234
12345
123125
12512
123123

Мой код необходимо прочитать из буфера обмена и выполнить следующее действие:1234 {enter} 12345 {enter} 12512 {enter} 12512 {enter} 123123 {enter} end.

Количество строк не установлено. Это должно зависеть от размера данных, находящихся в буфере обмена.

Спасибо за помощь.

1 ответ1

1

Вы даже попытаться посмотреть в файле справки AutoHotkey.chm из AutoHotkey? Его можно открыть из меню "Пуск", меню значков на панели задач AHK или из каталога, в котором вы установили AHK, и очень полезно. Если вы ищете "буфер обмена", первое, что приходит на ум, это пример того, как разделить буфер обмена на строки:

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

Для вашего случая использования он должен быть слегка изменен следующим образом:

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

Вы можете проверить это в Excel, сравнив F2, SHIFT+Insert и F2, SHIFT+CONTROL+V.

Если вы хотите, чтобы горячая клавиша была SHIFT+Insert, измените вторую строку на

+Insert::

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