안녕하세요, 모닝수잔입니다 :)

 

컴퓨터는 내가 지시한대로만 움직이기 때문에, "이럴 때는 이렇게 해! 저럴 때는 저렇게 해!"라고 정확한 지시를 내려줘야 합니다. 

 

그/런/데,

 

하나하나 조건을 부여해서 지시하기 어려울 때는 "만약에~ 내가 정해준 조건이 맞으면 이렇게하고 틀리면 저렇게 해"라고 한번에 지시를 내려줄 수도 있겠죠? 이때 사용할 수 있는 액티비티가 바로 If 액티비티입니다. 

 

 

If 액티비티는 다른 액티비티에 비해서 간단하고 사용하기가 매우 쉽긴하지만, 그래도 어떻게 활용되는지 확인해보기 위해 예제를 한번 만들어보겠습니다.


예제

"화사의 노래 Maria에는 Maria가 몇 번 등장할까요?"라는 질문에 사용자가 답을 맞추면 "정답입니다."라는 팝업창을 띄워주고, 답을 틀리면 "틀렸습니다. 재도전하세요."라는 팝업창을 띄워주겠습니다. 이때, 사용자의 답변이 숫자가 아니라 문자열인 경우에는 "숫자로 입력하세요!!!"라는 팝업창을 추가로 띄울 수 있도록 이중으로 If문을 사용해보겠습니다.

 

 

1) 액티비티 패널(Activities Panel)에서 Input Dialog 액티비티를 검색해서 가져온 뒤, 질문을 넣어주고 사용자가 입력한 답을 출력할 변수를 만들어준다.

Input Dialog 액티비티를 좀 더 자세히 살펴보겠습니다. Dialog Title과 Input Label에는 질문 제목과 질문을 적어주시면 되는데요, 프로세스를 실행하면 사용자가 답을 입력할 수 있도록 해당 질문을 포함한 팝업창이 생성되게 됩니다.

 

이때 사용자가 입력한 답은 변수로 저장해줘야 하는데요, 아래 화면 빨간칸을 보시면 저는 Input Dialog의 속성(Properties)의 Output에 Answer라는 변수를 만들고 사용자가 입력한 값을 저장해줄 예정입니다. Answer 변수의 유형은 문자열(String)으로 지정했답니다. 혹시 잊으셨을 수 있지만, 변수를 만들 때는 단축키 Ctrl + K를 눌러주시면 된답니다 :)

 

 

2) 액티비티 패널(Activities Panel)에서 If 액티비티를 검색해서 가져온 뒤, Condition을 정해주고 해당 Condition을 충족할 경우 실행할 액티비티는 Then에, 충족하지 않을 경우 실행할 액티비티는 Else에 넣는다.

Condition은 말그대로 조건입니다. 특정 조건을 지정해준 뒤, 조건을 충족하는 경우에는 자동으로 Then에 있는 액티비티를 수행하고 조건을 충족하지 않는 경우에는 자동으로 Else에 있는 액티비티를 수행하게 됩니다. True/False(참/거짓)은 평소에 우리에게도 매우 익숙하죠?

 

※ 저는 If 액티비티를 이중으로 2번 사용해줬습니다. 왜일까요?

Input Dialog 액티비티에서 사용한 질문은 "화사의 노래 마리아에 마리아가 몇번 들어가느냐"는 내용이기 때문에 답변은 "숫자"일 확률이 큽니다. 그런데 사용자가 숫자가 아니라 문자를 입력할 수도 있겠죠? "모름", "알수없음" 이런식으로요? 그래서 숫자가 아닌 문자나 특수기호를 입력했을 때는 "숫자로 입력하세요!!!"라는 메세지를 띄울 수 있도록 If 액티비티를 두번 사용했답니다. 

 

 

먼저 첫번째 If문 Condition입니다. 사용자가 입력한 답변이 숫자인지 문자인지는 확인하기 위해 .IsNumeric 메소드를 사용해보겠습니다. .IsNumeric 메소드는 변수가 숫자형인지 여부를 boolean 방식(참/거짓)으로 알려주는 메소드입니다. 

 

Answer.IsNumeric

 

사용자가 입력한 값을 담고 있는 변수 Answer가 .IsNumeric 숫자라면 = Then 맞으면 다음 단계로 넘어가고, Else 틀리면 "숫자로 입력하세요!!!"라는 메세지가 출력될 수 있도록 설정했습니다.

 

 

다음은 두번째 If문의 Condition입니다. 첫번째 If 문에서 사용자가 입력한 답변이 숫자가 아닌 경우는 이미 걸러졌기 때문에, 두번째 If문의 Condition에 걸리는 것들은 모두 숫자가 되겠죠? 그럼 이제 그 숫자가 정답인지 아닌지만 결정하면 됩니다.

 

Answer = "12"

 

이 질문은 놀면뭐하니 - 환불원정대 편에서도 나왔던 질문인데요, 제가 세어보니 화사의 Maria 노래에서 Maria가 12번 나왔더군요. 그럼 사용자가 입력한 답(숫자)가 12인 경우에는 "정답입니다"라는 메세지를 띄우고, 12가 아닌 다른 숫자인 경우에는 "틀렸습니다. 재도전하세요."라는 메세지를 띄워줘야겠네요. 메세지를 띄울 때는 Message Box 액티비티를 사용해주시면 된답니다.

 

 

그럼, 한번 실행해볼까요? 

 

프로세스를 실행했더니 이렇게 팝업창에 질문이 나왔습니다. 저는 바로 12를 입력했더니 "정답입니다"라고 메세지 박스가 생성되었습니다.

 

이번에는 문자를 한번 입력해볼까요? 역시나 제가 사전에 설정한대로 Answer가 IsNumeric이 아니니까 "숫자로 입력하세요!!"라는 메세지 박스가 생겼습니다.

 

 

그럼, 정답 12가 아닌 숫자를 입력하면 어떻게 될까요? 틀렸으니 재도전하라는 메세지 박스가 생성되었군요! 역시나 우리가 2개의 If문에서 사전에 설정해준 조건대로 실행되었습니다.

 

 

If 액티비티는 다른 액티비티에 비해서 이해하기도 쉽고 사용하기도 편하기 때문에 자주 활용하는 액티비티 중에 하나입니다. If 액티비티를 한번만 단독으로 사용할 수도 있지만 오늘 예제처럼 이중, 삼중으로 겹쳐서 사용할 수도 있으니까요 원하시는 프로세스의 흐름에 맞게 잘 활용해주시면 좋을 것 같습니다. 이상으로 RPA 유아이패스 If 액티비티에 대한 포스팅을 마치겠습니다.  

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기