안녕하세요. 그동안 스프레드시트의 기본 기능과 함수, 그리고 매크로 기록 기능을 통해 반복 업무를 자동화하는 법을 살펴보았습니다. 이제 한 단계 더 나아가서, 엑셀의 VBA(Visual Basic for Applications)가 담당하던 고급 자동화 영역을 구글 스프레드시트에서는 어떻게 구현하는지, 바로 ‘구글 앱스 스크립트(Google Apps Script, GAS)’를 통해 알아보겠습니다.
1. 앱스 스크립트가 도대체 무엇인가요?
엑셀을 오래 사용하신 분들에게 VBA는 양날의 검과 같았습니다. 강력한 자동화를 구현할 수 있지만, 문법이 어렵고 배우는 데 시간이 꽤 걸리기 때문입니다. 반면 구글의 앱스 스크립트는 자바스크립트(JavaScript) 기반의 언어로, 훨씬 가볍고 현대적인 방식입니다.
중요한 점은 우리가 매번 코드를 밑바닥부터 짤 필요가 없다는 것입니다. 8편에서 배웠던 매크로 기록 기능이 바로 이 앱스 스크립트를 ‘자동으로 작성해 주는 도구’였습니다. 기록된 코드를 살짝 수정하는 것만으로도 여러분은 프로그래밍을 몰라도 자신만의 업무 자동화 시스템을 완성할 수 있습니다.
2. 첫발 내딛기: 스크립트 편집기 열어보기
스프레드시트를 열고 상단 메뉴의 [확장 프로그램]을 클릭한 뒤 [Apps Script]를 선택하세요. 새로운 탭이 열리며 코드를 입력할 수 있는 편집기가 나타납니다. 여기서 보이는 function myFunction() { ... }은 이 스크립트가 실행될 때 수행할 명령어를 담는 기본 단위입니다.
이제 아래의 간단한 코드를 입력하고 [실행] 버튼을 눌러보세요.
function showHello() { var ui = SpreadsheetApp.getUi(); ui.alert('자동화의 세계에 오신 것을 환영합니다!'); }
실행 버튼을 누르면 구글 계정의 권한을 승인하라는 팝업이 뜹니다. 내 시트의 데이터를 읽고 제어하기 위해 반드시 필요한 과정이니 [고급] - [안전하지 않은 페이지로 이동(앱스 스크립트 이름)]을 선택하여 승인해주세요. 완료되면 스프레드시트 상단에 알림창이 뜨는 것을 보실 수 있습니다. 이게 바로 첫 번째 자동화입니다.
3. 개발자가 아니어도 기억해야 할 ‘자동화의 논리’
코드를 짜는 것보다 더 중요한 것은 업무 프로세스를 논리적으로 분해하는 것입니다. 앱스 스크립트를 공부할 때 다음 세 가지만 기억하세요.
트리거(Trigger): 언제 실행할 것인가? (예: 시트를 열 때, 특정 셀이 변경될 때, 매일 오전 9시에)
객체(Object): 무엇을 건드릴 것인가? (예: 현재 활성화된 시트, 특정 범위의 셀, 이메일 주소)
메서드(Method): 어떤 행동을 할 것인가? (예: 데이터를 가져오기, 값을 넣기, 삭제하기, 이메일로 보내기)
"매일 아침(트리거), 오늘 날짜의 판매 데이터를(객체), 이메일로 요약해서 보내줘(메서드)." 이 문장을 구글의 언어로 바꾸는 것이 바로 앱스 스크립트 자동화의 핵심입니다.
4. 초보자가 흔히 겪는 실수와 예외 처리
앱스 스크립트를 처음 다룰 때 가장 많이 당황하는 것은 '권한 오류'와 '실행 제한 시간'입니다.
첫째, 권한 오류는 보통 내가 만든 스크립트가 내 계정의 다른 서비스(Gmail, 드라이브 등)에 접근할 때 발생합니다. 내가 작성한 코드라면 안심하고 승인해도 되지만, 인터넷에서 복사해 온 코드는 반드시 어떤 권한을 요구하는지 확인해야 합니다. 둘째, 구글은 개인용 계정에서 스크립트를 실행할 때 실행 시간에 제한을 둡니다. 데이터가 너무 방대하면 중간에 오류가 날 수 있죠. 그래서 처음에는 작은 단위로 데이터를 쪼개서 처리하는 습관을 들이는 것이 좋습니다.
5. 결론: 자동화는 벽돌 쌓기와 같습니다
처음부터 거창한 프로그램을 만들려고 하지 마세요. 특정 셀의 값을 지우는 것, 셀에 자동으로 오늘 날짜를 찍는 것 같은 작은 동작부터 시작하세요. 이런 작은 벽돌들이 쌓이면 나중에는 이메일 단체 발송이나 보고서 자동 생성 같은 거대한 자동화 시스템이 완성됩니다.
코딩을 몰라도 괜찮습니다. 여러분이 이미 엑셀이나 스프레드시트에서 수동으로 하던 업무 단계를 머릿속으로 그리세요. 그것이 바로 자동화 알고리즘의 설계도입니다.
핵심 요약:
앱스 스크립트는 구글 스프레드시트의 VBA 대체제로, 자바스크립트 기반의 가벼운 자동화 도구이다.
[확장 프로그램] - [Apps Script] 메뉴를 통해 코드를 작성하고 직접 실행해보며 환경을 익힌다.
'트리거, 객체, 메서드'라는 논리적 흐름만 이해하면 복잡한 코딩 없이도 업무 자동화가 가능하다.
처음에는 거창한 시스템보다 단순한 동작부터 하나씩 자동화하는 ‘벽돌 쌓기’ 전략을 권장한다.
[다음 편 예고] 다음 10편에서는 스프레드시트를 사용하다가 가장 많이 마주치는 골치 아픈 에러 메시지들(#N/A, #VALUE!, #REF!)을 어떻게 하면 근본적으로 차단하고 예외 처리까지 완벽하게 할 수 있는지 알아보겠습니다.
여러분은 앱스 스크립트를 활용해 가장 자동화하고 싶은 반복 업무가 무엇인가요? 댓글로 남겨주시면 다음에 예시로 다뤄보겠습니다.
