NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 오토핫키 RPA 업무 자동화 매크로 만들기 - 조건과 반복문을 이용한 숫자 맞추기 게임과 구구단. (If, Loop)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은~ 오토핫키 반복문에 대해 알아보도록 하겠습니다. 엔지엠 매크로에서 반복문은 [ For 반복 ], [ Foreach 반복 ], [ 액션 반복 ], [ 액션 이동 ]이 있습니다. 상황에 따라서 어떤걸 사용해야 할지는 잘 결정해야 합니다. 오토핫키는 Loop와 Break를 사용합니다. Loop는 반복시키는 구간을 설정하고, Break는 어떤 조건에 맞으면 반복 구간을 탈출하게 해줍니다. 테스트를 위해 엔지엠 에디터를 실행하고, 새로운 스크립트를 추가하세요.

    cnOuw3h.gif

     

     

    오토핫키 코드 실행 ] 액션을 스크립트에 추가합니다. 이 액션은 에디터의 우측 하단 외부 API 탭에 있습니다.

    lq0ziVS.png

     

     

    아래와 같이 코드를 작성한 후 엔지엠 매크로가 종료되지 않도록 [ 무한 반복 루틴 ]을 만들어줍니다.

    !5::
    Loop, 5
    {
    	MsgBox, %A_Index% 번째 반복입니다.
    	
    	if (A_Index > 2) {
    		MsgBox, 반복문을 중지합니다.
    		break
    	}
    }
    return

    R79wD8g.png

     

     

    스크립트를 실행하면, 메세지박스로 몇번째 반복인지 표시하고, 3번째 반복할 때 루프를 빠져나옵니다. 참고로, 엔지엠 매크로는 반복 횟수가 0부터 시작합니다. 프로그래밍 언어와 동일하게 인덱스가 처리되는데요. 이 값을 배열이나 기타 순서에 맞게 처리할 때 유용합니다. 하지만, 오토핫키는 1부터 시작하므로 이점을 유의해야 합니다. 스크립트를 실행한 후 Alt+5를 눌러보세요.

     

     

    어떻게 동작하는지는 확인 하셨을겁니다. A_Index는 오토핫키의 내장 변수입니다. 많은 내장 변수가 있는데요. A_Index는 반복문안에서 몇번째 반복인지 횟수를 담고 있습니다. 조건과 반복문을 이용하면 아래와 같은 간단한 숫자 맞추기 게임도 쉽게 만들 수 있습니다. 아래 코드를 붙여넣기하고, 스크립트를 다시 실행 해보세요.

    !5::
    correctAnswer := 5
    
    Loop
    {
    	InputBox, answer, 숫자 맞히기 게임, 1에서 10까지의 숫자를 입력하세요.
    	
    	if (answer < 1 or answer > 10) {
    		MsgBox, 1에서 10까지의 숫자를 입력하세요.
    	} else if (answer < correctAnswer) {
    		MsgBox, 정답은 더 큰 수입니다.
    	} else if (answer > correctAnswer) {
    		MsgBox, 정답은 더 작은 수입니다.
    	} else {
    		MsgBox, 정답입니다.
    		break
    	}
    }
    return

     

    정답은 5이므로 사용자가 입력하는 값과 5를 비교하여 큰 수인지 작은 수인지 알려줍니다. 사실 스무고개 게임처럼 몇번 해보면 다 맞추는 그런 게임입니다. 저도~ 매크로 개발 사용자분이나 제작 의뢰인분들하고 스무고개를 자주 합니다. 대부분~ 업무 보고나 기획과는 거리가 있다보니 머리속의 생각을 두서없이 말하곤 합니다. 그러면, 저는 의도를 정확하게 파악하기 위해서 여러가지 질문을 던지고, 제가 이해한게 맞는지 최종 협의를 거치게됩니다. 처음부터 잘 정리해서 매크로 제작 의뢰를 주시면 좋으련만~ ㅎㅎ;

     

    반복문을 잘 사용하게 된다면~ 구구단쯤은 쉽게 만들 수 있을겁니다. 엔지엠 매크로에서 구구단을 어떻게 만드는지 궁금하시면 [ 여기 ] 글을 참고하세요. 오토핫키에서 구구단을 만드는 코드와 비교 해보세요. 어떤게 더 편한지는 여러분들의 판단에 맞기도록 하겠습니다. 아래 코드를 붙여넣기 하시고, 매크로를 실행 해보세요.

    nVOuBo4.png

     

     

     

    순식간에 구구단이 만들어졌습니다. 아직 설명하지 않은 몇가지 명령들이 있는데요. 우선, 첫번째 줄의 Run은 윈도우의 실행과 같습니다. 시스템 환경변수에 등록된 프로그램들은 이름으로 실행시킬 수 있습니다. 메모장을 실행한 후 두번째 줄의 WinWait 명령으로 메모장이 완전히 실행될 때까지 기다립니다. 그리고, 3번째 줄에서 WinActivate로 메모장을 활성 상태로 만들어줍니다. 활성 상태가 아니면 키보드 입력이 들어가지 않기 때문입니다.

     

    여기까지 해보시면 다른 업무 자동화 매크로 프로그램들도 쉽게 응용해서 만들 수 있을겁니다. 대부분 매크로가 화면 인식과 마우스 클릭 그리고, 키보드 입력으로 만들 수 있습니다. 하지만, 상황에 유연하게 대처하는 매크로를 만들려면 조건과 반복문을 이해해야 합니다. 엔지엠 매크로의 조건 카테고리에 있는 이미지 인식이나 숫자 체크, 날짜 및 수식과 같은 액션들을 잘 조합해서 사용해야 합니다. 그래야~ 고급 기능의 업무 자동화 매크로를 만들 수 있으니까요. 다음에는 좀 더 재미있는 내용으로 노하우를 알려드릴 수 있으면 좋겠네요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.