안녕하세요. 오토핫키로 프로그램을 자주 코딩하는데, for문의 활용이 제한적인 오토핫키에서는 자주 사용하는 loop에서 다중, 이중으로 사용할 수 없는 것에 대해서 알아보다가 함께 공유할 내용이 있어 올려봅니다.
결론적으로 오토핫키에서는 이중루프가 불가는한데, 이유는 A_index라는 것이 중첩으로 사용하면 오류가 발생하는 구조라서 그렇습니다.
그래서 아래와 같이 코딩하면 생각하지 못한 결과가 나오지요. 이중/다중 loop 사용한 코딩
loop % count1 {
loop % count2 {
..... (중략)
}
}
이 구조는 A_index가 중첩으로 들어가니, 오토핫키의 프로그램이 어버버하는 결과가 나오는 것이죠.
그렇다면 해결법은?
함수를 중간에 끼워 넣는 방법으로 해결할 수 있습니다. 좀 번거롭긴 하지만, 문제가 해결된다는 것은 좋은 것이지요.
loop % count1 {
function()
}
function() {
loop % count2{}
}
실전에서 사용하는 예를 한번 보자구요.
filename := ["autohotkey","autocad","webmail"]
dir := ["work","program"]
count1:=1
count2:=1
msgbox % filename.length()
msgbox % dir.length()
loop, % filename.length() {
msgbox % filename[count1]
loop, % dir.length() {
msgbox % dir[count2]
++count2
}
++count1
count2:=1
}
참고로, 변수를 아래와 같이 따로 사용해서 loop문을 구성하면 잘 됩니다. 다중 루프 그리 어렵지는 않습니다.
이 구조도 프로그램을 돌리면 잘 돌아합니다. . A_index에만 안묶이면 되는거가 핵심사항입니다.
'IT tech Coding > AutoHotKey' 카테고리의 다른 글
[오토핫키] 체크박스 클릭시 이벤트 걸어보기 checkbox 이벤트 클릭시 동작만들기 (0) | 2022.09.12 |
---|---|
[autohotkey] 램상주 상태의 프로그램 메모리에서 끝내기, 실행시 방해되는 프로그램 먼저 실행종료시키기 Process, Close, EXCEL.EXE (0) | 2022.06.04 |
오토핫키 한글경로가 깨져서 오류가 나는 경우 대처법 (2) | 2022.01.19 |
오토핫키로 한영키를 변경하는 방법, 영문이 아닐때 영문으로 한영키 누르는 방법 (0) | 2020.08.21 |
반복되는 업무에 최고의 반복메크로 오토핫키, autohotkey로 이젠 단순반복 업무 벗어나 보자~ (0) | 2020.04.08 |