본문 바로가기

키보드 매크로

RPA 매크로 - 글로벌 스크립트에 대한 이해. (상급 난이도)

반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

  • 엔지엠 무료: 무료 (전체 기능의 50프로)
  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에는 개별적인 스크립트들이 변수를 공유하거나 또는 로직에 따라 서브 스크립트를 공유할 수 있습니다. 단순하게 스크립트를 제작하는게 가장 좋지만~ 특수한 상황에서는 다른 스크립트의 변수 또는 다른 스크립트의 서브 스크립트를 공유해야 합니다. A 스크립트와 B 스크립트가 동시에 실행될 때 B 스크립트의 변수 값에 따라 A 스크립트의 동작이 변경되어야 할 수 있습니다. B 스크립트에서 동작중인 서브 스크립트를 A 스크립트에서 어떤 로직에 따라 중지 시킬수도 있습니다. 글로 설명하기보다는 실제 예제를 한번 보시죠^^ 에디터를 실행한 후 새로운 스크립트를 하나 추가하세요.

 

 

전체 스크립트 구조는 아래와 같습니다. 중요한 부분은 [ 스크립트 실행 ]입니다.  [ 핸들 추가 ]는 바탕화면 무한 클릭(서브 스크립트)에서 비활성으로 동작시키기 위해 추가한 액션입니다. 그리고, 서브 스크립트가 중지되더라도 매인은 계속 동작하기 위해 그룹(1)과 [ 액션 이동 ]으로 무한 반복하도록 되어 있습니다.

 

 

글로벌 스크립트 속성을 True로 변경하세요. 이렇게하면 다른 스크립트에서 이 스크립트를 제어할 수 있게됩니다.

 

 

새로운 스크립트를 하나 추가한 후 아래와 같이 구성합니다. 실행 전 지연에 3000(3초)를 설정한 이유는 [New] Script 2가 어느정도 동작된 후 스크립트를 중지하기 위함입니다. 여기서 주의할점은 글로벌 스크립트를 설정하지 않았다는 점입니다. 이 스크립트를 실행하면 글로벌로 설정된 스크립트를 중지할 수 없을거 같지만 실제 동작은 그렇지 않습니다.

 

 

동작이 빨라서 잘 확인이 안될수도 있습니다. 스크립트 2가 실행되고 서브 스크립트도 같이 실행되었습니다. 이 서브 스크립트는 글로벌로 등록되었습니다. 스크립트 1을 실행하면 3초 후 스크립트 1에서 등록한 글로벌 스크립트를 중지하고, 자신도 중지됩니다. 하지만, 글로벌로 설정하지 않았기 때문에 "지정한 키가 사전에 없습니다." 에러를 표시하고 종료합니다. 물론, 글로벌로 등록된 서브 스크립트도 중지가 되었습니다.

 

 

이렇게 동작되는 이유는 간단합니다. 매인 스크립트(여기서는 스크립트 1, 스크립트 2가 매인 스크립트입니다.)가 서브 스크립트를 관리합니다. 글로벌로 등록된 서브 스크립트는 모든 매인 스크립트와 연결됩니다. 따라서, 스크립트 1에서 에러가 나서 중지하지는 못했지만, 스크립트 1이 완료되면서 서브 스크립트를 모두 중지시키기 때문에 이러한 결과가 발생합니다. 그러면, 스크립트 1도 무한으로 반복하도록 변경한 후 다시 테스트 해보겠습니다.

 

 

스크립트 1이 중지되지 않으면 글로벌로 등록된 서브 스크립트도 중지되지 않습니다. 스크립트 중지 액션은 에러로 실행이 안된거구요. 그러면, 정상적인 동작으로 한번 테스트를 해볼께요. 스크립트 1의 스크립트 중지 액션에서 글로벌 스크립트 속성을 True로 변경하고, 실행했습니다. 정상적으로 글로벌 스크립트가 중지되었습니다.

 

 

이렇듯 다른 스크립트에서 서브 스크립트를 제어하려면 글로벌 스크립트로 등록해줘야 합니다. 변수도 동일합니다. 서로 다른 스크립트가 하나의 변수에 접근해서 값을 변경하거나 가져와서 다른 동작을 수행하려면 글로벌 변수로 등록해야 합니다. 서브 스크립트를 비동기로 실행하면 아래와 같이 서브 스크립트를 실행만하고, 다음 액션으로 넘어가게 됩니다. 그렇더라도 다른 스크립트에서 비동기로 실행중인 서브 스크립트를 중지할 수 있습니다.

 

 

글로벌 스크립트이기 때문에 다른 스크립트에서 설정한 스크립트를 실행 할 수도 있습니다.

 

 

내용이 다소 어려운 부분이 있습니다. 동시에 여러가지를 생각하면서 스크립트를 작성한다는건 상당히 어려운 작업입니다. 이는 모든 시스템이 비슷합니다. 대부분은 하나의 동작을 만들어서 동일한 작업을 스레드로 처리합니다. 하지만, 글로벌 스크립트는 서로 다른 로직에서 하나의 서브 스크립트를 제어해야 하므로 상당히 신경써서 로직을 구성해야 합니다. 의도하지 않은 동작이 발생할 확률이 높기 때문입니다.

 

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로

반응형