안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
오늘은 변수의 값을 수정할 수 있는 액션에 대해서 알아보겠습니다.
이번 예제는 좀 복잡하게 만들건데요. 변수 추가 글에서 설명하지 않았던 내용을 다룰거예요.
단순한 변수가 아닌 글로벌 변수를 사용해서 예제를 만들거라서 기본적인 변수 개념을 먼저 잡고 오시는게 좋습니다.
스크립트를 2개 추가할건데요. 하나는 카운트를 증가 시켜주는 스크립트고 다른 하나는 증가된 카운트를 가져와서 사용자에게 표시하는 스크립트입니다.
우선, 카운트를 증가시키는 스크립트를 만들어볼께요. 오토픽 에디터를 실행하고 변수 추가 액션을 추가하고, 그룹과 액션 이동도 추가하세요.
이번에는 변수를 매크로 전체에서 공유할 수 있는 글로벌 변수로 설정하겠습니다.
변수는 총 3개의 공간을 가집니다. 글로벌 변수는 매크로에서 모든 스크립트가 공유하는 공간입니다.
기본 값은 로컬 변수인데요. 이건 변수를 추가한 스크립트에서만 접근이 가능합니다.
마지막으로 부모 변수는 서브 스크립트나 스크립트 실행으로 실행된 하위 스크립트에서 접근이 가능한 변수입니다.
하위 스크립트는 보통 자식 스크립트라고 부르고, 자식 스크립트는 자신이 속한 스크립트를 부모 스크립트라고 부릅니다.
변수를 글로벌 변수로 설정하고 아이디는 g1으로 설정해줍니다.
그룹과 액션 이동은 무한으로 반복 시키기위한 루틴입니다.
그동안 오토픽 매크로 강좌를 계속해서 학습 하셨다면 무한 반복 루틴을 만드는건 쉬울텐데요.
그렇더라도 처음 오신 분들을 위해서 간단하게 설명하고 넘어갈께요.
오토픽 매크로는 위에서 아래로 순차적으로 실행됩니다. 따라서, g1이라는 변수 저장 공간을 만들고 그룹 액션이 실행됩니다.
액션 이동은 사용자가 설정한 액션으로 루틴을 변경해줍니다. 그래서, 그룹에 아이디를 a로 설정하고, 액션 이동에서 이동할 아이디로 a를 선택하면 됩니다.
무한 반복하는 값이 너무 빠르게 증가하지 않도록 그룹에는 실행 전 지연 값을 1초(1000)로 설정했습니다.
아직 배우지는 않았지만, 숫자 증감을 하나 추가하도록 하겠습니다. 반복 횟수를 변수에 저장하는 로직입니다.
표현식 카테고리에 있는 사칙 연산 액션을 그룹과 액션 이동 사이에 추가해줍니다.
사칙 연산 액션은 말 그대로 더하기, 빼기, 곱하기, 나누기를 할 수 있는 액션입니다.
사칙 연산 액션을 선택하고 우측의 속성창에서 아래와 같이 좌항(왼쪽 값)과 우항(오른쪽 값)을 입력 해줍니다.
여기서 중요한점은 변수 가져오기로 왼쪽 값을 만들어도 되지만, 중괄호 3개로 변수명을 감싸면 글로벌 변수의 값을 가져올 수 있습니다.
g1 글로벌 변수의 초기 값이 0이므로 처음 반복하면 0 + 1이 되어 결과 값은 1이 됩니다.
결과 값을 변수에 다시 추가해주면 다음에 반복이 실행될 때는 1 + 1이 되어 결과 값은 2가 됩니다.
※ 글로벌 변수는 중괄호 브라켓을 3개 사용하고, 부모 변수는 2개, 로컬 변수는 1개를 사용합니다.
속성창 마지막의 변수 카테고리에서 추가하기를 클릭하세요. 그리고, 결과 값을 변수에 다시 저장해줍니다.
※ 아래 그림에서는 설정이 하나 빠져 있는데요. 변수 추가하기도 글로벌로 설정해야 합니다.
이제 두번째 스크립트를 만들도록 하겠습니다. 에디터 상단의 File 메뉴에서 새로 만들기 > 스크립트를 선택하세요.
새로운 스크립트가 추가됩니다. 그리고, 스크립트 1처럼 변수 추가와 그룹 그리고, 액션 이동을 추가하세요.
두번째 스크립트에서도 스크립트 내에서 글로벌 변수로 접근하기 위해 이름이 필요합니다. 그래서, g1 변수가 필요합니다.
여기에서도 스크립트 1에서 갱신시키는 변수의 값을 가져오고 변경하기 위해서 무한 반복 루틴을 추가 했습니다.
도구 상자에서 메세지 박스를 그룹과 액션 이동 사이에 추가하세요.
그리고, 메세지 박스를 확장하면 참과 거짓 루틴이 나눠져 있는걸 볼 수 있는데요.
메세지 박스의 참 루틴 안에 변수 수정을 하나 추가 해줍니다.
메세지 박스의 내용으로 변수 값을 가져오고, 2초 후 자동으로 닫히도록 설정했습니다.
자동 닫기 시간에 2초를 설정하고, 타이머도 표시 해줍니다.
g1 글로벌 변수의 값을 0으로 다시 초기화 시켜줍니다.
메세지 박스는 조건과 같이 사용되는데요. 일단 타임 아웃 2초가 발생해서 메세지 창이 닫히면 무조건 참으로 루틴이 이동합니다.
따라서, 변수의 값이 항상 0이 찍힐겁니다. 그래서, 아래와 같이 메세지 박스의 거짓 루틴으로 이동할 수 있게 버튼 종류를 OKCancel로 변경해줘야 합니다.
스크립트가 2개라서 전체 실행 버튼으로 실행시켜야 합니다.
매크로를 실행하고, 가만히 있으면 메세지 창이 자동으로 2초마다 닫히면서 변수 값은 계속해서 0으로 변경됩니다.
첫번째 스크립트에서 변수 값이 증가하는지를 확인하려면 메세지 창이 닫히기 전에 취소를 눌러보세요.
취소를 계속해서 누르면 숫자가 1씩 증가하는걸 확인할 수 있습니다.
이 숫자는 1초에 한번 증가하기 때문에 메세지 창을 1초 전에 닫고 다시 실행되면 초는 그대로 있을겁니다.
자동 닫기를 설정했기 때문에 메세지 창을 수동으로 닫지 않으면 값은 초기화가 되어서 계속 0이 찍히게 됩니다.
이번 내용은 약간 어려운 느낌이 있을수도 있습니다. 그리고, 변수는 계속 값을 넣어줄 수 있는데 왜 굳이 변수 수정이 있을까라는 의구심이 들 수 있습니다.
변수에 값을 넣으려면 어떤 액션을 통해서 변수에 추가하기를 해야 합니다. 하지만, 매크로가 동작하다가 변수의 값을 초기화 하고 싶을때가 있을수도 있습니다.
이런 경우에는 변수 변경을 통해서 값을 다시 원래대로 초기화하고 사용할 수 있습니다.
자세한 내용은 아래 동영상을 참고 해주세요.
감사합니다.
'업무 자동화 매크로' 카테고리의 다른 글
설명 (기능 없이 제작 편의를 위한 액션) (0) | 2024.08.20 |
---|---|
픽셀 서치 매크로 - 화면에서 사용자가 설정한 픽셀이 나타나면 클릭해주는 매크로 만들기 (0) | 2024.08.19 |
매크로 프로그램 강좌 - 목록 메세지 박스 (0) | 2024.08.17 |
RPA 업무 자동화 매크로 - 입력 메세지 박스 (0) | 2024.08.17 |
인공지능 업무 자동화 매크로 - 파일 선택 메세지 박스 (0) | 2024.08.17 |