🚀 2026 스타트업 컨퍼런스

엑셀 VBA 지옥에서 만난 구세주, "이거 JS 아니에요?"

엑셀 VBA 지옥에서 만난 구세주, "이거 JS 아니에요?"

김현수·2026년 1월 3일·2

엑셀 VBA의 고전적인 문법 한계에서 벗어나 자바스크립트 스타일의 개발을 가능하게 해주는 ASF(Advanced Scripting Framework)를 소개합니다.

솔직히 우리끼리 얘기해 봅시다.

개발자 생활하면서 '엑셀 VBA' 만질 일, 없을 것 같죠?

저도 10년 전에는 그랬습니다.

"나는 자바 백엔드 할 건데?"
"나는 리액트 프론트엔드 할 건데?"

하지만 현실은 냉혹합니다.

금융권, 제조사, 심지어 스타트업 운영팀까지.

세상은 여전히 엑셀로 돌아갑니다.

그리고 어느 날, 팀장님이 툭 던지시죠.

"현수 씨, 이 엑셀 매크로가 좀 느린데, 로직 수정 좀 해줄 수 있어?"

그때부터 지옥문이 열립니다.

Dim i As Integer
ReDim Preserve

배열 하나 사이즈 늘리는데 코드가 세 줄씩 들어갑니다.

map, filter, reduce?

그런 모던한 함수형 프로그래밍은 사치입니다.

그저 무한 For...Next 루프의 늪에 빠지는 거죠.

그런데 최근에 GitHub을 뒤적이다가, 제 눈을 의심하게 만든 물건을 하나 발견했습니다.

바로 ASF (Advanced Scripting Framework) 라는 녀석입니다.

이거, 진짜 물건입니다.

"VBA 안에서 돌아가는 자바스크립트 맛 스크립트 엔진."

가장 충격적인 건 뭔지 아세요?

No COM dependencies.

이게 무슨 뜻이냐면, 외부 DLL이나 복잡한 설치 과정이 전혀 필요 없다는 겁니다.

그냥 클래스 모듈 몇 개만 엑셀 파일에 복사해 넣으면 끝납니다.

보안이 철통같은 대기업 사내망에서도 바로 쓸 수 있다는 얘기죠.

이 녀석을 쓰면 뭐가 바뀌냐고요?

상상해 보세요.

그 지긋지긋한 VBA 창에서 C 스타일 문법이나 JS 문법을 쓸 수 있습니다.

VBA로 복잡한 데이터 필터링 로직 짤 때,

if문 중첩하고 변수 선언하다가 머리 쥐어뜯으셨죠?

ASF를 쓰면 이렇게 바뀝니다.

data.filter(fun(x) { return x > 100 }).map(...)

메서드 체이닝이 됩니다.

클로저(Closure)도 지원합니다.

심지어 정규표현식(Regex)도 네이티브로 지원해서 문자열 처리 속도가 비약적으로 빨라집니다.

"에이, 그래도 VBA는 VBA 아니냐?" 하실 수 있습니다.

맞아요. 결국 VBA 위에서 돌아가는 인터프리터니까요.

하지만 이 프로젝트의 핵심은 '생산성''정신 건강'입니다.

복잡한 비즈니스 로직을 VBA의 구시대적 문법으로 구현하려면 코드가 수백 줄이 넘어갑니다.

가독성은 떨어지고, 버그는 숨어들기 딱 좋죠.

그런데 ASF를 쓰면 그 로직을 10분의 1로 줄여서 스크립트 형태로 관리할 수 있습니다.

게다가 AST(추상 구문 트리) 기반이라 디버깅도 꽤나 합리적입니다.

블랙박스처럼 "그냥 안 돼요" 하고 뻗어버리는 게 아니라, 어디가 문제인지 추적할 수 있다는 거죠.

물론, 모든 코드를 이걸로 짤 필요는 없습니다.

셀 색칠하고, 시트 복사하고 이런 건 그냥 기존 VBA 쓰세요.

하지만 데이터를 가공하고, 계산하고, 복잡한 규칙을 검증하는 로직.

여기에 ASF를 도입하면, 유지보수하는 후임자가 울면서 감사하다고 할지도 모릅니다.

저도 예전에 레거시 시스템 마이그레이션 할 때,

이런 도구를 미리 알았더라면 야근을 절반은 줄였을 겁니다.

기술은 계속 변합니다.

하지만 레거시는 생각보다 끈질기게 살아남죠.

우리가 시니어 개발자가 되어간다는 건,

최신 기술을 잘 쓰는 것뿐만 아니라

이런 고대 유물(Legacy)을 다루는 현명한 요령을 터득하는 과정이기도 합니다.

혹시 지금 엑셀 매크로와 씨름하고 계신가요?

그렇다면 몰래 ASF 모듈을 슬쩍 끼워 넣어 보세요.

답답했던 엑셀 창에서, 현대적인 코딩의 자유를 맛보실 수 있을 겁니다.

오늘도 레거시와 싸우는 모든 개발자분들,

커피 한 잔 찐하게 드시고 화이팅입니다.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!