[구글 스프레드시트 기초] 문서 자동화 구글 앱스 스크립트 시작 개요

반응형

[구글 스프레드시트] 문서 자동화 구글 앱스 스크립트 시작 개요

 

구글에서 제공하는 구글 앱스 스크립트(Google Apps Script : GAS)를 사용하여 구글 문서도구(구글 문서, 스프레드시트, 프레젠테이션 등)에서 문서를 자동화하고 여러 구글 앱을 상호 연결 작업할 할 수 있습니다.

  1. 구글 앱스 스크립트
  2. 구글 스크립트 종류
  3. 구글 스프레드시트 스크립트 편집기 열기
  4. 구글 스프레드시트 스크립트 편집기 기능
  5. 구글 스프레드시트 스크립트 작성 도움말 참조
  6. 구글 스프레드시트 스크립트 간단한 예시
  7. 구글 스프레드시트 스크립트 실행

 

구글 앱스 스크립트

 

구글 앱스 스크립트

  • 자바스크립트 1.6을 기반으로 1.7 및 1.8으로부터 여러 기능을 가져와서 만들어진 스크립트 언어
  • 문서 작업을 자동화한다.
  • 반복 작업을 스크립트로 단순화 한다.
  • 구글 상의 데이터 및 외부 시스템의 데이터에 접근 참조할 수 있다.
  • 구글 드라이버 클라우드에서 작동한다.
  • 위에서 언급한 대로 일단 자바스크립트를 어느 정도 구사할 수 있어야 한다.
  • 보통 웹 상에서 사용되는 자바스크립트와 다른 부분이 있어 안되는 기능이 있다.

 

구글 스크립트 종류

  • 구글 문서에 종속된 스크립트(Container-bound Scripts) : 작성하는 구글 문서 상에서 작동하는 스크립트
  • Standalone Scripts : 독립적으로 구글 클라우드에서 작동하는 스크립트
  • Web Apps : 웹에 게시돼 웹상에서 사용할 수 있는 스크립트

● 본 포스팅에서 소개하는 스크립트는 스프레드시트에 종속된 스크립트입니다.

 

구글 스프레드시트 스크립트 편집기 열기

  • 구글 스프레드시트 상단 메뉴바에서 도구 텝을 선택합니다.
  • 붉은 박스로 표시한 스크립트 편집기를 클릭하면 스크립트 편집기 화면이 새 탭에 열립니다.

스프레드시트 메뉴 도구

 

구글 스프레드시트 스크립트 편집기 기능

 

스크립트 편집기

 

메뉴바 대신 위의 붉은 박스로 표시한 리본 메뉴 아이콘을 사용하면 편리합니다.

아래는 표시된 순서의 기능에 대한 간략입니다.

  •  1. 실행취소(Ctrl+Z)
  •  2. 재실행(Ctrl+Y)
  •  3. 들여쓰기 : 구글 문서에서는 작동되나 본 스크립트 편집기에서는 작동되지 않고 있음.
  •  4. 저장(Ctrl+S)
  •  5. 현재 프로젝트의 트리거 작성된 스크립트가 미리 정해 놓은 조건(시점, 이벤트 발생 등)을 만족하면 자동적으로 수행되도록 설정
  •  6. 실행 선택된 스크립트 함수 실행
  •  7. 디버그
  •  8. 함수선택 스크립트 함수는 여러개 작성할 수 있으며 클릭하여 나오는 함수 목록 중에서 실행하려는 함수 선택
  •  9. 실행힌트 : 클릭하여도 반응없음
  • 10. 기본적으로 나오는 빈 함수 (function myFunction() { } 보통 본함수는 삭제하고 새로운 함수를 작성

 

구글 스프레드시트 스크립트 작성 도움말 참조

 

상단 메뉴바의 도움말 탭에서 도움말을 클릭하면 위와같은 Google Apps Script 도움말 페이지가 열립니다. 상단 메뉴 중 가장 많이 참조할 메뉴가 REFERENCE 탭이 될 것으로 보입니다.

REFERENCE 페이지 좌측 사이드바 메뉴에서 G Suite services 를 선택해서 스크롤하면 Spreadsheet 항목이나오고 클릭하면 SpreadsheetApp 요소와 하단에 많은 클래스가 나옵니다.

SpreadsheetApp 는 최상위 요소이며 스프레드시트 스크립트 작성시 맨 좌측에 위치시킵니다. 아래에 나열된 클래스들은 계층별로 구성돼있고 좌측에서 우측 순으로 상위 클래스와 하위 클래스를 점으로 연결, 조합하여 스크립트를 작성합니다.

스크립트 구문을 쓸 때 최상위 요소인 SpreadsheetApp는 우측에 괄호()가 없고 값을 제외한 하위 클래스는 괄호()가 있습니다.

도움말 페이지 좌측 사이드바에 나열된 각 요소 및 클래스를 클릭하면 하위 클래스가 나오고 리턴되는 클래스 또는 값을 보여줍니다.

상위요소를 쓰고 우측에 점을 찍으면 하위 요소들이 드롭다운 목록으로 나열되고 해당 요소를 선택할 수도 있습니다.

 

구글 스프레드시트 스크립트 간단한 예시

function Hello() {       
  SpreadsheetApp.getActiveSheet().getRange('a1').setValue('Hello!');
  Logger.log(SpreadsheetApp.getActiveSheet().getName());
  Logger.log(SpreadsheetApp.getActiveSheet().getRange('a1').getValue());
}
  • 위에 작성한 것같이 각 요소들을 하나의 구문으로 연결하여 스크립트 구문을 작성해도 되지만 보통 자주 참조되는 요소는 아래와 같이 변수로 지정해서 작성합니다.
  • Logger.log() 함수는 디버그용으로 쓰이며 스크립트 실행 후 상단 보기 메뉴에서 로그를 선택해서 로그된 내용을 볼 수 있습니다.
function Hello2() { 
  ss = SpreadsheetApp.getActiveSheet(); 
  r = ss.getRange('a2'); 
  r.setValue('Hello!'); 
  Logger.log(ss.getName());
  Logger.log(r.getValue()); 
}
  • 스프레드시트 문서는 작성 후 자동 저장이 되지만 스크립트는 저장해야 합다.
  • 에러가 있을 경우 에러 메시지가 나오며 저장이 안됩니다.
  • 스크립트 편집기에 위의 두 함수를 Hello, Hello2로 이름짓고 저장시 나오는 제목 화면에 스크립트 프로젝트 이름을 작성하고 저장했습니다.

 

스크립트 실행

  • 함수 선택 함수 선택을 선택하면 Hello, Hello2 두 함수가 있는 목록이 나옵니다. Hello 함수는 스프레드시트 a1에 Hello2는 a2에 "Hello!"를 표시합니다.
  • 실행 버튼 함수를 선택하고 실행 버튼을 클릭합니다. 처음 실행하면 권한 검토하는 인증 화면이 여러 개 나옵니다. 허용한 후 스크립트는 실행할 수 있습니다.

 

 

 

위의 이미지에서는 제목이 제목없는 프로젝트로 나오네요. 저장시 프로젝트 이름을 지정 안했습니다.

  • 두개의 함수 Hello, Hello2를 실행하면 스크립트 편집기 상에는 변화가 없지만 먼저 열어 둔 스프레드시트 문서로 가면 a1, a2 셀에 Hello!가 출력돼 있습니다.

 

  • 로그 보기 상단 보기 메뉴 탭에서 로그를 클릭합니다. 시트이름과 셀의 값이 로그돼 있습니다.

반응형