구글 앱스 스크립트 자동화 입문: 반복 작업 이제 그만! (초보자 가이드)
📋 목차
안녕하세요! 구글 드라이브, 지메일, 스프레드시트, 캘린더... 정말 편리한 구글 워크스페이스 도구들이죠? 하지만 사용하다 보면 매번 반복적으로 해야 하는 작업들이 생기기 마련입니다. 매주 월요일 아침마다 팀원들에게 주간 보고서 양식을 보내거나, 설문지 응답이 들어올 때마다 특정 시트에 자동으로 정리하는 일 같은 것들이요. 😅
이런 단순 반복 작업에 소중한 시간을 뺏기고 있다면, 오늘 제가 소개해 드릴 '구글 앱스 스크립트(Google Apps Script, GAS)'에 주목해 주세요! 약간의 코딩 지식만 있으면 (심지어 없어도 시작할 수 있어요!) 여러분의 구글 워크스페이스 환경을 놀랍도록 효율적으로 바꿔줄 수 있답니다. 함께 알아볼까요? 😊
구글 앱스 스크립트(GAS), 그게 뭔가요? 🤔
구글 앱스 스크립트는 구글이 제공하는 클라우드 기반의 스크립팅 플랫폼입니다. 쉽게 말해, 구글 워크스페이스(지메일, 드라이브, 시트, 문서, 캘린더 등)의 여러 서비스들을 서로 연결하고, 특정 작업을 자동화하거나 새로운 기능을 추가할 수 있게 해주는 도구예요.
프로그래밍 언어로는 웹 개발에 널리 쓰이는 '자바스크립트(JavaScript)'를 기반으로 합니다. 그래서 자바스크립트를 조금이라도 다뤄보셨다면 훨씬 쉽게 적응하실 수 있고, 처음이더라도 기본적인 문법만 익히면 간단한 자동화부터 시작할 수 있습니다!
왜 앱스 스크립트로 자동화해야 할까요? ✨
앱스 스크립트를 배우면 어떤 점이 좋을까요?
- 시간 절약: 단순하고 반복적인 작업을 컴퓨터에게 맡기고, 우리는 더 중요한 일에 집중할 수 있습니다.
- 오류 감소: 사람이 직접 하다 보면 발생할 수 있는 실수(복사/붙여넣기 오류, 누락 등)를 줄여 데이터의 정확성을 높입니다.
- 서비스 연동: 지메일로 받은 내용을 스프레드시트에 자동 기록하거나, 캘린더 일정에 맞춰 알림 메일을 보내는 등 여러 구글 서비스를 하나처럼 연결할 수 있습니다.
- 맞춤 기능 개발: 구글 서비스에 기본적으로 없는 나만의 편의 기능(예: 특정 조건에 맞는 데이터만 필터링해서 보고서 생성)을 직접 만들 수 있습니다.
- 무료!: 별도의 프로그램 설치나 서버 구축 없이, 구글 계정만 있으면 누구나 무료로 사용할 수 있습니다.
물론 코딩을 잘하면 더 복잡하고 강력한 자동화가 가능합니다. 하지만 걱정 마세요! 구글에서 제공하는 풍부한 예제 코드와 인터넷상의 수많은 자료(블로그, 유튜브 등)를 활용하면, 코드를 잘 몰라도 복사/붙여넣기와 약간의 수정만으로 원하는 기능을 구현해 볼 수 있습니다. 시작이 반이에요!
앱스 스크립트, 어디서 시작하나요? (스크립트 편집기 열기) 💻
앱스 스크립트 코드를 작성하는 곳을 '스크립트 편집기'라고 부릅니다. 여는 방법은 크게 두 가지입니다.
- 구글 문서/시트/설문지 등에서 열기 (권장): 자동화하려는 대상 파일(예: 스프레드시트)을 열고, 상단 메뉴에서 [도구] > [스크립트 편집기] 또는 [확장 프로그램] > [Apps Script]를 클릭합니다. 이렇게 하면 해당 파일과 스크립트가 바로 연결(Bound)되어 다루기 편리합니다.
- 독립형 스크립트로 시작하기: 웹 브라우저에서 script.google.com으로 접속하여 새 프로젝트를 만듭니다. 특정 파일에 종속되지 않고 여러 서비스에 걸친 작업을 만들 때 유용합니다.
편집기를 열면 코드를 입력할 수 있는 창이 나타납니다. 처음에는 `function myFunction() { ... }` 과 같은 기본 틀이 보일 거예요.
첫 자동화 스크립트 만들어보기 (왕초보 예제) ▶️
백문이 불여일견! 아주 간단한 예제를 통해 앱스 스크립트가 어떻게 작동하는지 맛봅시다. 구글 스프레드시트를 하나 열고 [확장 프로그램] > [Apps Script]를 클릭해 편집기를 여세요.
📝 예제: 현재 시간을 A1 셀에 기록하기
기존 코드를 모두 지우고 아래 코드를 복사해서 붙여넣으세요.
function recordCurrentTime() {
// 현재 활성화된 스프레드시트 가져오기
var ss = SpreadsheetApp.getActiveSpreadsheet();
// 그 안의 첫 번째 시트 가져오기
var sheet = ss.getSheets()[0];
// 현재 날짜와 시간 정보 생성하기
var now = new Date();
// A1 셀을 선택하고 현재 시간 값 넣기
sheet.getRange("A1").setValue(now);
// 완료 메시지 띄우기 (선택 사항)
SpreadsheetApp.getUi().alert('현재 시간이 A1 셀에 기록되었습니다!');
}
실행 방법:
1. 코드 위쪽의 디스켓 모양 (💾 저장) 아이콘을 눌러 프로젝트를 저장합니다.
2. 저장 후 바로 옆의 '실행(▶️)' 버튼을 누릅니다.
3. 처음 실행 시 '권한 검토' 팝업이 뜹니다. 자신의 구글 계정을 선택하고 [고급] > [~ (안전하지 않음)으로 이동] > [허용]을 눌러 스크립트가 스프레드시트에 접근할 권한을 부여해야 합니다. (내가 만든 스크립트이니 안심하고 허용하세요!)
4. 권한 부여 후 다시 '실행' 버튼을 누르면, 스프레드시트의 A1 셀에 현재 날짜와 시간이 찍히는 것을 볼 수 있습니다!
어떤가요? 몇 줄의 코드로 스프레드시트 셀에 자동으로 값을 입력했습니다! `SpreadsheetApp`, `getActiveSpreadsheet`, `setValue` 등은 구글이 미리 만들어 둔 명령어(API)들이고, 우리는 이걸 조합해서 원하는 동작을 만드는 거예요.
자동화의 핵심: 트리거 설정하기 ⏰
방금 만든 스크립트는 '실행' 버튼을 눌러야만 작동했죠. 진정한 자동화는 우리가 신경 쓰지 않아도 알아서 실행되게 만드는 것입니다. 이때 필요한 것이 바로 '트리거(Trigger)'입니다.
앱스 스크립트 편집기 왼쪽 메뉴에서 시계 모양 (⏰ 트리거) 아이콘을 클릭하면 트리거를 설정할 수 있습니다. 주요 트리거 종류는 다음과 같습니다.
| 트리거 종류 | 설명 | 예시 |
|---|---|---|
| 시간 기반 (Time-driven) | 특정 시간 간격(분, 시, 일, 주, 월) 또는 특정 날짜/시간에 맞춰 스크립트를 실행 | 매일 아침 9시에 보고서 이메일 발송 |
| 이벤트 기반 (Event-driven) | 특정 이벤트가 발생했을 때 스크립트를 실행 | 스프레드시트가 열릴 때(`onOpen`), 셀이 수정될 때(`onEdit`), 설문지가 제출될 때(`onFormSubmit`) 등 |
예를 들어, 아까 만든 `recordCurrentTime` 함수를 매일 자정에 실행하고 싶다면, [트리거 추가] 버튼을 누르고 다음과 같이 설정하면 됩니다.
- 실행할 함수 선택: `recordCurrentTime`
- 이벤트 소스 선택: `시간 기반`
- 시간 기반 트리거 유형 선택: `일 단위 타이머`
- 시간 선택: `오전 12시 ~ 오전 1시`
이렇게 설정하고 저장하면, 이제 매일 밤 12시에서 1시 사이에 A1 셀의 시간이 자동으로 업데이트될 것입니다!
앱스 스크립트, 어디까지 활용 가능할까? (활용 사례) 🚀
앱스 스크립트의 가능성은 무궁무진합니다. 몇 가지 대표적인 활용 사례를 소개해 드릴게요.
- 지메일 자동화: 특정 조건(보낸 사람, 제목 키워드 등)에 맞는 메일에 자동으로 라벨을 붙이거나, 미리 준비된 답변을 자동 발송하기.
- 스프레드시트 자동화: 설문 응답을 자동으로 특정 시트에 분류/정리하거나, 매주/매월 데이터 기반 리포트를 생성하여 메일로 보내기.
- 캘린더 자동화: 스프레드시트에 정리된 일정 목록을 구글 캘린더에 자동으로 등록하거나, 특정 이벤트 시작 전에 참석자들에게 미리 알림 메일 보내기.
- 구글 드라이브 자동화: 특정 폴더에 파일이 업로드되면 담당자에게 알림을 보내거나, 오래된 파일을 자동으로 정리/백업하기.
- 맞춤 메뉴/사이드바 생성: 구글 문서나 시트에 자주 사용하는 기능을 버튼 하나로 실행할 수 있는 나만의 메뉴나 사이드바 추가하기.
마무리: 핵심 내용 요약 📝
구글 앱스 스크립트는 구글 워크스페이스 사용자라면 누구나 무료로 사용할 수 있는 강력한 자동화 도구입니다. 처음에는 조금 낯설 수 있지만, 간단한 예제를 따라 해보면서 익숙해지면 반복적인 업무에서 벗어나 훨씬 효율적으로 일할 수 있게 될 거예요.
오늘 배운 내용을 바탕으로 여러분의 업무나 일상에서 자동화하고 싶은 작은 부분부터 시작해 보세요. 생각보다 훨씬 쉽고 재미있답니다! 궁금한 점이나 막히는 부분이 있다면 언제든 댓글로 질문해주세요! 😊

댓글
댓글 쓰기