안녕하세요. 오토소장 김효복입니다.

오늘은 자동화 도구인 매크로를 다루기 위해서 가장 근본적인 이야기를 해볼까 합니다. 자동화 도구(매크로)는 어떻게 만들어지고 어떤 방법으로 입력이 되는 건지 지금부터 알아보도록 하겠습니다.

자동화 도구 (매크로)

우리가 일반적으로 사용하고 있는 이런 프로그램들은 대부분 컴퓨터에게 자동으로 일을 시키기 위해서 사용합니다. 그래서 GUI 윈도우 기반으로 디자인되어 사용자가 쉽게 명령을 줄 수 있고 조작할 수 있도록 인터페이스를 제공합니다.

윈도우 기반 매크로

그림. 윈도우 기반 매크로

자동화 도구(매크로)는 어떻게 만들어지는 걸까요?

매크로는 크게 두 가지 기능으로 이루어져 있습니다. 두뇌처럼 상황을 인식하고 판단하는 기능과 이 결과를 사람의 손과 발처럼 키보드와 마우스로 대상 프로그램을 제어하는 기능입니다. 이 두 기능이 매크로를 구성하는 가장 핵심적인 기능이라고 말할 수 있습니다.

매크로를 만들기 위한 프로그래밍 언어들

그림. 매크로를 만들기 위한 프로그래밍 언어들

기본적으로 매크로는 윈도우 기반의 소프트웨어이기 때문에 위 그림과 같은 프로그래밍 언어들 중 하나를 이용하여 개발합니다. 두뇌 역할을 하는 인식과 판단 기능은 개발자에 의해 소프트웨어적인 알고리즘(Algorithm)을 코딩하여 구현합니다. 저는 시스템 프로그래밍 언어인 C 계열의 언어들을 주로 다루지만 JAVA, Python 등 모두 가능합니다.

자동화 도구(매크로)의 2가지 입력 방식

매크로에 대해서 조금 찾아보신 분들은 소프트웨어 방식, 하드웨어(기계식) 방식에 대해서 한 번쯤은 들어보셨을 겁니다. 이 두 가지 유형은 보통은 입력 방식을 기준으로 분류합니다.

소프트웨어 입력 방식

소프트웨어 입력 방식이란 하드웨어 장치를 거치지 않고 순수하게 자동화 도구(매크로)를 통해 소프트웨어적인 명령으로만 대상 프로그램에 직접 입력명령을 주는 방식입니다.

소프트웨어 입력 방식

그림. 소프트웨어 입력 방식

위 그림에서 보면 프로그래밍 언어를 이용하여 자동화 도구 (매크로) 프로그램을 개발합니다. 사용자가 매크로에게 입력 시나리오를 설정하면 이 프로그램은 대상 프로그램에 소프트웨어적인 키보드, 마우스 명령을 입력합니다.

대상 프로그램은 입력받은 키보드와 마우스의 정보를 토대로 자동으로 동작을 하는 것이지요.

하드웨어 입력 방식

하드웨어 입력 방식은 대상 프로그램에 직접 키보드, 마우스 명령을 주는 것이 아니라 키보드와 마우스가 기계적으로 구현된 하드웨어 장치에 명령을 주어 간접적으로 대상 프로그램에 입력시키는 방식을 말합니다.

하드웨어 입력 방식

그림. 하드웨어 입력 방식

소프트웨어 방식보다는 느릴 순 있지만 성능을 다소 낮추더라도 보안 프로그램 우회를 목적으로 사용할 수 있는 수단으로 많이 알려져 있습니다.

정리하며

간단한 반복 클릭 작업인데 무리하게 하드웨어 장치를 사서 사용할 필요는 없습니다. 작업량보다는 비용이 더 크게 들기 때문이죠. 자동화할 업무의 목적에 따라서 소프트웨어 입력 방식, 하드웨어 입력 방식을 적절히 사용하면 최적의 효율을 달성할 수 있습니다.