The Unreasonable Effectiveness of Excel Macros

Matthias Endler

엑셀 매크로의 터무니없는 위력

원문은 Matthias Endler님이 에 게재했습니다. 이 블로그 구독하기

나는 원래 인턴십을 별로 좋아하지 않았다. 멋진 회사들은 바이에른의 작은 마을에 있는 우리 집에서 너무 멀리 떨어져 있기도 했고, 지원할 용기가 나지 않았기 때문이기도 했다.

딱 한 번, 학교 프로그램의 일환으로 아일랜드 인턴십에 지원한 적이 있다. 선생님이 일자리를 배정했는데, 친구는 애플에 배정됐고 나는 PcGo라고 해두자, 중소 규모의 IT 유통업체에 배정됐다.

웹사이트만 보면 꽤 근사한 회사처럼 보였지만, 실제로는 코크의 비 오는 공업지대에 있는 외딴 회색 창고에 불과했다. 도착하자마자 나는 동료 예브게니를 소개받았다. 그는 데스크톱 컴퓨터 조립을 담당하는 핵심(사실상 유일한) 직원이었다. 내가 보기엔 그가 가게를 사실상 굴리고 있었다. 그는 영어를 서툴게 했고, 그래서 그냥 전동 드라이버와 나사 한 상자를 내게 건네줬고 나는 바로 일을 시작했다. 첫 주 동안 우리는 함께 컴퓨터를 많이 조립했고 정말 즐거웠다. 어느 날 버스를 놓쳤는데 그가 차로 집까지 데려다줬다. 비 오는 날이었고 코크의 좁은 골목을 달리며 우리는 떠들고 웃고 있었는데, 갑자기 큰 ‘쾅’ 소리가 났다. 백미러를 쳐다보니 백미러가 아예 사라져 있었다. 다른 차를 박아서 떨어져 나간 것이었다. 예브게니는 개의치 않았다. 짙은 동유럽 억양으로 “이미 백미러 세 개 날려먹었어”라고 말하더니 그대로 운전을 계속했다.

둘째 주가 되자 사장님이 찾아왔다. 3주짜리 인턴십 동안 하라고 계획했던 일을 내가 이미 다 끝냈다는 것이다. 나는 컴퓨터 조립과 설치에 익숙했으니 그럴 만도 했다.

나를 계속 붙잡아 두려고 그들은 다른 일을 하나 만들어냈다. 뒤편에 있는 오래된 Windows 98 컴퓨터에서 그는 브라우저로 silverpages.ie에 접속해 “computer”를 검색했고, 잠시 후 우리는 ‘컴퓨터와 뭔가 관련이 있는’ 아일랜드 회사들의 주소가 끝없이 나열된 리스트를 보게 됐다. 각 항목은 예상할 수 있는 필드들로 이루어져 있었다. 회사명, 주소, 전화번호, 웹사이트(있다면), 그리고 키워드 목록이었다.

사장님은 경쟁 업체들을 파악해야 한다고 말했다. 그는 항목 하나에서 필드 하나를 조심스럽게 선택해 복사한 뒤 Excel 시트에 붙여 넣었다. 나머지 필드들도 똑같이 했다. “이렇게 하면 돼!” 그는 어색한 미소를 지으며 말했다. 우리 둘 다 앞으로 2주 동안 지루한 일이 나를 기다리고 있다는 걸 알고 있었다.

그들은 웹 데이터베이스 전체를 수작업으로 긁어오게 해서 나를 바쁘게 만들려고 한 것이다.

모욕으로 받아들일 수도 있었지만, 나는 오히려 도전으로 받아들였다.

나는 silverpages.ie의 페이지 번호가 GET 파라미터로 제어된다는 걸 알아챘다.

“스크래핑을 자동으로 하는 프로그램을 짜도 될까요?” 사장님은 눈에 띄게 당황했다. “음… 뭐든 네 마음대로 해, 다만 추가 소프트웨어는 설치하면 안 돼!” 그러고는 가버렸다.

설치된 프로그램을 보니 선택지가 별로 없었다. Excel 아니면 지뢰찾기였다. Excel의 Visual Basic 매크로가 꽤 강력하다는 건 알고 있었지만, 그걸로 웹사이트 전체를 긁어올 수 있을지는 확신이 없었다.

잠시 후 웹사이트를 Excel 시트로 내려받는 기능을 발견했다(정말 영광스러운 기능이었다). 완벽하게 작동했고, 그래서 내가 할 일은 각 페이지마다 임시 시트를 만들고, 중요한 필드들을 ‘마스터 시트’에 복사한 뒤 임시 시트를 삭제하는 매크로를 녹화하는 것뿐이었다. 매크로를 녹화하고 코드를 들여다봤다. 남은 하루는 반복문으로 URL을 바꾸도록 수정하고 매크로를 정리하는 데 썼다. ‘매크로 실행’ 버튼을 누르고 그냥 기다리며 앉아 있었다. 컴퓨터는 풀가동으로 돌아가고 있었다. 가장 두려웠던 건 프로그램이 멈추거나 컴퓨터 메모리가 부족해지는 것이었다. 그 컴퓨터로 지뢰찾기를 하는 건 참았고, 대신 대부분 당구를 치거나 예브게니와 수다를 떨며 시간을 보냈다.

다음 날 아침 사무실에 왔을 때 프로그램은 작업을 마친 상태였다. 놀라랍게도 SilverPages 전체를 긁어왔고, 리스트에는 수천 개의 항목이 들어 있었다. 문서를 E-Mail로 사장님께 보내고 다시 지뢰찾기를 하러 돌아갔다.

한 시간 뒤, 양복을 입은 세 남자가 내 뒤에 서 있었다. 리스트를 다시 보여줘야 했다. 내가 혼자서 그걸 다 했다는 걸 믿을 수 없어 했기에, 데이터를 긁어온 도구를 보여줬다. 그들에게 나는 일종의 초능력을 가진 사람이었다.

그들은 다른 과제를 주지 않고 떠났고, 남은 2주 동안 나는 하고 싶은 일을 하며 자유롭게 지낼 수 있었다. 나는 그들을 위해 재고 관리 툴을 하나 더 만들어줬다. Excel로 관리할 수 있는 것이었고, 사실 그들이 수동으로 관리하던 스프레드시트를 위한 그저 화려한 Excel 폼에 불과했다. 여름방학 2주를 더 써서 그 툴을 완성했다. 돈을 주겠다고 했기 때문인데, 물론 주지 않았다 :).

배운 점

  • 엑셀 매크로의 힘을 절대 과소평가하지 마라.
  • 지루한 일이 주어지면 제약을 추가해 더 도전적으로 만들어라.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글