안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
이전 시간에 픽셀 서치, 이미지 서치, 이미지 매치에 대한 이벤트를 알아봤습니다.
그리고, 이벤트는 타임아웃, 스케줄링도 가능합니다.
이벤트는 백그라운드에서 동작하는 감시자와 같은 기능입니다. 매크로를 실행하면서 어떤 이벤트가 발생하면 루틴을 이동할 수 있습니다.
물론, 이벤트를 직접 구현할수도 있는데요. 이렇게하면 액션이 많아지고 복잡도가 높아집니다.
복잡도가 높다는 의미는 유지보수가 힘들고, 매크로 동작을 수정할 때 많은 시간이 소요됩니다.
이전 시간에 배운 이벤트 테스트 스크립트를 열고, 아래와 같이 이벤트 제어 액션을 추가해보세요.
이벤트 제어 액션은 에디터의 함수상자의 함수 카테고리에 들어있습니다.
로직적으로 처리하면 이 문제가 발생하지 않지만, 이벤트는 아래와 같은 문제점이 있습니다.
우선, 이벤트가 발생하는 조건이 연속성을 가진다면 계속해서 이벤트가 액션 이동을 하게 됩니다.
좀 더 쉽게 말해서 이미지 서치가 참이되서 이벤트가 발생해서 루틴을 이동했다고 생각해보세요.
이 때 그 이미지가 사라지지 않고 남아 있으면 루틴은 이동했어도 또다시 이벤트가 발생하게 됩니다.
그러면 또다시 액션 이동이 발생하는데요. 이렇게되면 무한 반복과 같이 루틴을 이동해서 뭔가 처리를 할 수 없게됩니다.
그래서 이벤트에는 한번만 실행하도록 하는 이벤트 자동 삭제 옵션이 존재합니다.
이미지 서치로 이미지를 찾으면 액션이 이동하고, 이벤트는 자동으로 삭제됩니다. 화면에 서치할 이미지가 여전히 남아있더라도 더이상 이벤트는 발생하지 않습니다.
따라서, 이미지 서치 이벤트로 이동한 루틴을 실행할 수 있습니다. 이 내용도 이전글에서 간단하게 설명하고 넘어간 부분이라서 확인해보시면 될듯 합니다.
이벤트를 삭제하지 않고, 잠시 멈춰놨다가 특정 로직을 다 처리한 다음에 다시 이벤트를 실행하고 싶다면 아래와 같이 사용할 수 있습니다.
이벤트를 중지시켰으면 다시 실행을 해야 하는데요.
아래와 같이 마우스 클릭을 4개 추가하고, 윈도우 바탕화면의 아이콘을 1초마다 한번씩 클릭하도록 구성할께요.
그리고 마지막에 이벤트 제어를 하나 더 추가했습니다.
이벤트가 발생한 후 루틴을 이동해서 해야할 일을 다 처리하면 이벤트를 다시 실행 상태로 변경합니다.
이벤트 제어가 필요한 이유는 여러개의 다수 이벤트가 사용될 때 동시다발적으로 발생하는 이벤트를 보다 효율적으로 사용하기 위함입니다.
3시간마다 발생하는 이벤트가 있고, 6시간마다 발생하는 이벤트가 있다고 가정을 해볼께요.
이런 경우 3시간 이벤트가 두번째 실행될 때 6시간 이벤트와 겹치는 문제가 있습니다.
이 때 어떤 조건에 따라서 우선순위를 정해줘야 하는데요.
이런 경우에 이벤트 제어로 하나를 잠시 멈춰놓고 다른 이벤트가 완료될 때 다시 켜줄 수 있습니다.
이벤트는 사용하기 쉽지만, 다양한 경우의 수가 발생할 수 있습니다.
그렇다보니 의도하지 않은 동작이 발생할 수 있는데요. 이런 경우를 잘 고려해서 이벤트와 이벤트 제어로 문제를 해결해야 합니다.
이미지 조건 이벤트와 이벤트 제어 액션에 대한 자세한 내용은 아래 동영상을 참고해주세요.
감사합니다.
'매크로' 카테고리의 다른 글
블로그 인스타그램 카카오톡 매크로 - 문자열 연결 (0) | 2024.10.31 |
---|---|
경기도 가볼만한 곳! 남한산성과 50대 파이어족의 현금흐름에 대한 이야기 (20) | 2024.10.31 |
픽셀 서치, 이미지 서치, 이미지 매치 매크로 (0) | 2024.10.29 |
출력 내용을 사용해서 매크로 프로그램 분석 및 디버깅하는 방법 (0) | 2024.10.29 |
화면 캡쳐 매크로 알람 (5) | 2024.10.29 |
댓글