IT생활

구글의 앱스크립트로 자동화하는 방법

김천하 2024. 9. 13. 09:46

구글의 앱스크립트는 구글 워크스페이스 제품군을 효율적으로 사용하고 자동화할 수 있는 강력한 도구입니다. 앱스크립트를 사용하면 스프레드시트, 문서, 프레젠테이션, Gmail 등 다양한 구글 서비스와 상호작용하며 작업을 자동화할 수 있습니다.

 

많은 사람들이 앱스크립트를 처음 접할 때 복잡하다고 느낄 수 있지만, 조금만 익숙해지면 매우 직관적이고 강력한 기능을 활용할 수 있습니다. 이번 글에서는 구글의 앱스크립트를 활용해 구글 서비스 작업을 자동화하는 방법에 대해 깊이 있게 알아보겠습니다.

 

구글의 앱스크립트란 무엇인가?

구글의 앱스크립트는 구글이 제공하는 클라우드 기반의 스크립트 언어로, 자바스크립트를 기반으로 합니다. 이 스크립트를 사용하면 구글의 다양한 서비스와 API를 활용해 반복적인 작업을 쉽게 자동화할 수 있습니다. 특히, 구글 스프레드시트에서 대량 데이터를 관리하거나, Gmail에서 메일을 일괄 처리하는 등의 작업을 자동으로 실행하는 데 유용합니다. 구글의 앱스크립트를 사용하면 매일 해야 하는 반복 작업을 줄이고, 시간을 절약할 수 있는 방법이 많습니다.

구글의 앱스크립트 시작하기

앱스크립트를 사용하려면 구글 드라이브에서 스프레드시트나 문서 파일을 연 다음, 상단 메뉴에서 확장 프로그램 > 앱스크립트를 선택하면 됩니다. 여기서 바로 자바스크립트 코드를 작성할 수 있는 편집기가 나타나며, 이를 통해 간단한 코드부터 복잡한 자동화 시스템까지 구성할 수 있습니다. 처음에는 약간의 학습이 필요할 수 있지만, 기본적인 자바스크립트 문법을 알면 앱스크립트를 활용하는 것이 훨씬 수월합니다.

구글의 앱스크립트로 할 수 있는 것들

스프레드시트 자동화

구글 스프레드시트에서 데이터를 자동으로 입력하거나, 수집된 데이터를 가공하는 등의 작업을 할 수 있습니다. 예를 들어, 매일 특정 시간에 새로운 데이터를 자동으로 불러와 스프레드시트에 추가하는 코드를 작성할 수 있습니다.

Gmail 자동화

Gmail에서 특정 조건에 맞는 메일을 자동으로 필터링하거나, 자동 응답 메일을 발송할 수 있습니다. 이를 통해 매일 수백 통의 메일을 수동으로 처리하지 않아도 됩니다.

Google Docs 자동화

문서 템플릿을 사용해 여러 문서를 자동으로 생성하거나, 팀원들과 협업할 때 필요한 문서를 자동으로 배포할 수 있습니다.

캘린더 관리

구글 캘린더에 이벤트를 자동으로 추가하거나, 일정 변경 시 팀원들에게 자동 알림을 보낼 수 있는 기능도 앱스크립트를 통해 구현할 수 있습니다.

구글의 앱스크립트 기본 코드 예시

앱스크립트를 처음 사용해보는 사람들을 위해 간단한 코드 예시를 소개하겠습니다. 이 코드는 구글 스프레드시트의 데이터를 읽고, 특정 셀에 새로운 값을 입력하는 방법을 보여줍니다.

function updateSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange('A1');
  cell.setValue('Hello, Google Apps Script!');
}

이 코드를 실행하면 현재 활성화된 스프레드시트의 A1 셀에 'Hello, Google Apps Script!'라는 문구가 입력됩니다. 이처럼 간단한 코드로도 구글의 앱스크립트를 통해 스프레드시트를 자동화할 수 있습니다.

구글의 앱스크립트로 스프레드시트 데이터 분석하기

데이터 분석 작업을 할 때도 구글의 앱스크립트는 큰 도움이 됩니다. 예를 들어, 스프레드시트에 저장된 데이터를 분석하고 그 결과를 자동으로 그래프로 출력하는 작업을 코드로 작성할 수 있습니다. 매번 데이터를 수동으로 분석하는 대신, 구글의 앱스크립트를 통해 몇 번의 클릭만으로 결과를 얻을 수 있습니다.

function analyzeData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getRange('A2:A10').getValues();
  var total = 0;

  for (var i = 0; i < data.length; i++) {
    total += parseInt(data[i]);
  }

  Logger.log('Total sum of data: ' + total);
}

 

이 코드는 A2부터 A10까지의 데이터를 합산하여 로그에 결과를 출력하는 예시입니다. 이렇게 간단한 방법으로도 수십, 수백 개의 데이터를 쉽게 처리할 수 있습니다.

구글의 앱스크립트로 시간 절약하기

자동화의 가장 큰 장점은 시간을 절약하는 것입니다. 특히 반복적인 작업을 자동화함으로써 일상적인 업무에서 많은 시간을 아낄 수 있습니다. 예를 들어, 매일 아침마다 회사의 보고서를 정리해 스프레드시트에 업데이트하는 작업을 구글의 앱스크립트를 통해 자동화할 수 있습니다. 그 결과, 더 중요한 업무에 집중할 수 있는 시간이 늘어나게 됩니다.

구글의 앱스크립트로 팀워크 개선

구글의 앱스크립트는 개인뿐만 아니라 팀 전체의 생산성을 높이는 데에도 큰 도움이 됩니다. 여러 명의 팀원이 사용하는 스프레드시트를 자동으로 관리하거나, 팀원들에게 자동으로 일정이나 할 일을 배포하는 기능을 앱스크립트로 구현할 수 있습니다. 이렇게 하면 팀워크가 한층 더 원활해지며, 실수나 누락 없이 작업이 진행됩니다.

구글의 앱스크립트에서 자주 사용하는 함수들

  • SpreadsheetApp: 스프레드시트와 상호작용하는 데 사용하는 클래스입니다. 데이터를 읽거나 쓸 때 자주 사용됩니다.
  • GmailApp: Gmail과의 상호작용을 위한 함수로, 메일을 읽거나 보내는 등의 작업을 처리할 수 있습니다.
  • DocumentApp: 구글 문서에서 내용을 수정하거나 추가하는 데 사용됩니다.
  • CalendarApp: 구글 캘린더에서 이벤트를 추가하거나 수정할 수 있습니다.

구글의 앱스크립트 활용 팁

  • 초보자라면 기본 템플릿을 활용하자: 구글에서 제공하는 기본 템플릿을 사용하면 코드를 처음 작성하는 데 도움을 받을 수 있습니다. 템플릿을 사용해 기본적인 코드 구조를 익히고, 점차 응용해나가는 것이 좋습니다.
  • 코드의 효율성을 생각하라: 앱스크립트는 서버에서 실행되기 때문에 코드의 효율성도 중요합니다. 불필요한 반복문을 줄이고, API 호출 횟수를 최소화하는 것이 좋습니다.
  • 디버깅 기능을 적극 활용하라: 앱스크립트는 구글에서 제공하는 디버깅 도구를 통해 실행 중 오류를 쉽게 찾을 수 있습니다. 디버깅을 통해 코드를 점검하고 수정하는 과정을 반복하며 코드의 완성도를 높여보세요.

구글의 앱스크립트로 자동 메일 발송하기

다음으로 소개할 기능은 자동으로 메일을 발송하는 방법입니다. 일정한 주기로 고객에게 메일을 보내야 하거나, 팀원들에게 정기적으로 보고서를 보내야 할 때 유용합니다.

function sendEmail() {
  var recipient = "example@example.com";
  var subject = "Weekly Report";
  var body = "Here is your weekly report.";

  MailApp.sendEmail(recipient, subject, body);
}

이 코드를 실행하면 지정된 이메일 주소로 자동 메일이 발송됩니다. 여러 명에게 동시에 메일을 보내야 한다면, 배열을 사용해 수신자 목록을 추가할 수 있습니다.

구글의 앱스크립트로 데이터 백업하기

중요한 데이터는 주기적으로 백업을 해야 합니다. 앱스크립트를 사용하면 스프레드시트 데이터를 주기적으로 다른 문서나 클라우드에 백업하는 작업을 자동화할 수 있습니다. 이를 통해 데이터 손실의 위험을 최소화할 수 있습니다.

function backupData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var doc = DocumentApp.create('Backup Document');
  var body = doc.getBody();

  for (var i = 0; i < data.length; i++) {
    body.appendParagraph(data[i].join(', '));
  }
}

이 코드는 스프레드시트의 모든 데이터를 구글 문서로 백업하는 과정입니다. 데이터를 문서 형태로 저장하면 나중에 참고하거나 다시 사용할 수 있습니다.

구글의 앱스크립트로 일정 관리하기

앱스크립트를 활용하면 구글 캘린더와 연동해 일정을 자동으로 관리할 수 있습니다. 새로운 일정을 추가하거나, 팀원들과 공유할 때 유용합니다.

function createEvent() {
  var calendar = Calendar

App.getDefaultCalendar();
  calendar.createEvent('Meeting', new Date(2023, 11, 10, 10, 0), new Date(2023, 11, 10, 11, 0));
}

이 코드는 2023년 12월 10일 오전 10시에 회의 일정을 캘린더에 추가하는 예시입니다. 자동으로 일정을 관리할 수 있어 편리하게 사용할 수 있습니다.

결론

구글의 앱스크립트는 다양한 구글 서비스와 연동해 업무를 자동화할 수 있는 강력한 도구입니다. 앱스크립트를 활용하면 반복적인 작업을 줄이고, 시간을 절약하며, 더 중요한 업무에 집중할 수 있게 됩니다. 또한, 팀원들과의 협업을 더욱 원활하게 만들어줄 수 있습니다. 처음에는 다소 복잡해 보일 수 있지만, 꾸준히 사용하다 보면 업무에 큰 도움이 될 것입니다.