본문 바로가기
기타 대외활동/투두몰 서포터즈

[구글 앱스 스크립트] 1주차 두 번째 : 구글 스프레드시트 기초

by bri9htstar 2023. 7. 2.

GAS에 대해 대강 배우면서 구글 내에 있는 수많은 기능들과 연동될 수 있다는 점을 알았다.

그렇다면 ... 구글 스프레드시트 이 참에 더 배워보면 어떨까? 라는 생각이 들었다.

괜히 일을 벌리는 거 같아 두렵기는 했는데 … 가보기로 했다.

투두몰에 관련 강의가 있을지 찾아본 결과, 있었다.

실무에서도 많이 쓰이는지 제목부터 막내 필수 스킬. 이라고 적혀있었다.

 

그냥 바로 가보자고.

실무에 직접 쓰이는 요소 위주로 정리가 되어 있었고, 투두라는 기준으로 각 섹션이 구분되어 있었으며, 마지막으로는 미션이 있어 앞에서 배운 내용을 스스로 복습하는 과정이 포함되어 있었다. 인증 기한까지 있어 나름 책임감을 갖고 하게 되고, 특히 계획을 철저히 지켜야 하는 성격이라면 저 7월 1일이라는 데드라인이 계속 눈앞에 아른거렸다 …

 

구글 스프레드시트?

마이크로소프트 엑셀과 99% 정도 같은 구글 스프레드시트는, 클라우드 기반으로 관리하고 공동 작업이 가능하다는 장점이 있었다! 이 외에 강의에서는 기본적인 함수를 가르쳤다.

 

미션 제출 사진

 

countif, sumif, averageif 등 … 실무에서는 보다 복잡하겠지만 잊고 있었던 엑셀 함수들을 다시 떠올리며 차차 완성할 수 있었다. 이렇게 하다보니 기본적인 조건부 함수들은 까먹지 않겠다는 생각이 들었다.

엑셀을 쓰면서 단순히 고정한다는 의미로 $ 표시를 자주 썼었는데 그게 어떤 표시인지도 이번 투두를 통해서 확실히 알게 된 것 같다.

 

책을 통해서 같이 병행했던 GAS 공부도 아래 이어서 적는다.


프로젝트와 파일

GAS 스크립트는 프로젝트(project)라는 단위로 작성한다. 한 프로젝트 안의 하나 또는 여러 개의 파일로 구성되는데, .gs 파일도 있고 .html 파일도 작성할 수 있다.

아아, 여기서 .gs는 GAS 스크립트 확장자이다.

좌측에 보면 code.gs 라고 적혀있음. 구글 스크립트의 준말 아닐까?

+ 버튼을 이용하여 HTML 파일도 추가할 수 있는 것을 알 수 있다.

 

스탠드얼론 스크립트와 컨테이너 바운드 스크립트

GAS 스크립트는 두 종류로 나뉘고 그 저장 방법도 다른데,

(1) 구글 드라이브에 프로젝트 파일을 직접 저장하는 스탠드얼론 스크립트,

(2) 스프레드시트, 문서, 설문지 및 프레젠테이션 등 부모 파일(컨테이너)에 연결된 형태로 저장하는 컨테이너 바운드 스크립트가 있다.

컨테이너 바운드 스크립트의 경우에는 스프레드시트의 커스텀 함수를 작성할 수 있어 편리한 메서드를 사용할 수 있다는 것이 장점이다.

 

영어로 보면 더욱 직관적인데, 각각 Standalone 그리고 Container-bound Script.

 

Apps Script 대시보드

컨테이너 바운드 스크립트는 컨테이너에 연결돼 저장되기 때문에 구글 드라이브에서는 스크립트 존재 여부나 해당 프로젝트 이름을 파악하기가 어렵다. 이 때 Apps Script 대시보드를 사용하는데, GAS 프로젝트를 관리하거나 모니터링하기 위한 도구이다. 스탠드얼론 스크립트도 관리가 가능하여 직접 프로젝트를 찾아서 열거나 확인할 때 편리하게 이용할 수 있다.

 

https://youtu.be/BK9sWR0I6Ys

너무나 친절하게 알려주시는 Chanel님의 강의가 유튜브에 있어 링크를 걸어본다.

 

 

스크립트 어떻게 편집하나요.

여기까지 왔는데 내용 너무 어렵다 ... 그러나 악바리로 끝까지 한번 배워보겠다는 마인드이다.

 

어떻게든 보는 중

https://script.google.com 

 

Apps Script – Google Apps Script

Example Scripts From productivity tools to enterprise automation, see what you can build with Google Apps Script. Learn more »

www.google.com

어서오세요. 여기가 구글 스크립트 페이지입니다.

들어가서 (+ 새 프로젝트)를 누르면 간단하게 스탠드얼론 스크립트를 만들 수 있다.

컨테이너 바운드 스크립트와는 보다시피 아이콘으로 구분이 가능하다.

 

 

후보 표시

(책에서 알려줬지만) 쓰다보니 꿀기능 발견.

후보 표시라는 기능인데, [Ctrl] + [Space]를 입력하면 후보 목록이 나타난다.

어쩐지 일일히 무언가를 적는 개발자는 폼이 안 난다 싶었는데 이런 기능이.

내가 썼던 변수명이 있으면 나중에 그것도 띄워준다. 무적권 이거 써보기.

 

 

검색과 바꾸기

일반 인터넷 창에서도 쓸 수 있는 것처럼 [Ctrl] + [F] 를 누르면 검색도 가능하다.

바꾸기 기능 뙇

게다가 검색바가 표시된 상태에서 [>] 아이콘을 클릭하면 검색바가 바꾸기 모드로 전환된다.  와. 짱이에요.

누가 일일히 바꿈;; 이제는 당당히 난 바꾸기 기능 쓴다.

바꾸기 기능은 [Ctrl] + [H] 기능으로 바로 띄울 수도 있다.

 

코드 수정 실행취소와 재실행

학생 직장인 가릴 것 없이 필수 단축키인 [Ctrl] + [Z]가 여기서도 먹히고, 코드 수정 재실행을 하려면 [Ctrl] + [Y]를 쓰면 된다. 스크립트 창에도 컴퓨터 작업을 많이 해봤다면 볼 수 있는 아이콘 모양이 직관적으로 있으니 참고 바람.

 

 

로그 출력

다음 코드를 입력하고 [Ctrl] + [R]로 실행시켰더니, 로그가 나타났다.

console.log는 GAS에서 로그를 출력하는 방법이다.

왼쪽의 [실행]에서 과거 로그도 확인할 수 있다.

 

디버그

스크립트 편집기에는 디버그 기능이 있는데, 선택된 함수에 대한 디버그를 할 수 있다. 브레이크포인트도 설정 가능하다. 마치 여느 코딩 툴에서나 쉽게 접할 수 있는 기능 중 하나이다. 오른쪽에 표시된 디버거로 조작 가능하다.

 

스크립트 공유와 권한

GAS는 스크립트를 클라우드에 저장하므로 어떤 사용자가 해당 스크립트의 편집이나 실행 권한을 가지고 있는가를 권한으로 설정한다. 스탠드얼론 스크립트의 소유자는 스크립트 적성자이지만, 공유가 가능하다.

 

'사용자 및 그룹 추가' 부분에 사용자의 이름 또는 이메일 주소를 입력하여 공유하면 된다.

 

컨테이너 바운드 스크립트는? 그럼 어떻게?

부모 파일은 컨테이너의 권한과 연결되어 있으므로 컨테이너 작성자가 스크립트의 소유자가 된다. 다른 사용자와 공유할 때는 컨테이너를 공유하면 된다.

 

우측 위의 공유 버튼을 누르고 스탠드얼론 스크립트의 경우와 똑같이 진행하면 된다.

도메인이 다를 경우에는 공유된 컨테이너(및 포함된 컨테이너 바운드 스크립트)와 스탠드얼론 스크립트의 소유자 권한을 양도할 수 없다. 그러므로 조직에서 구글 워크스페이스를 사용할 때에는 조직 외부의 사용자와 공동으로 GAS 개발 및 운영 시 주의해야 한다.

 

스크립트 접근 허가

GAS 스크립트 대부분은 구글 어플리케이션에 접근하기 때문에 스크립트가 각 애플리케이션에 접근을 해도 좋은가를 허가해야 한다. GAS에서는 스크립트를 실행하거나 트리거를 설정할 때 자동으로 코드 내용을 조사해 필요한 애플리케이션에 대한 허가를 요청한다. 허가는 프로젝트 단위로 이루어지며 한번 부여된 권한은 삭제할 때까지 유용하다.

 


 

스크립트 편집기를 어떻게 다루는지에 대해 배워봤다. 다음 장부터는 자바스크립트 기초 문법에 대해 다루기 때문에, 기본적인 문법을 다루고 나서 스프레드시트와 연동해서 나아갈 듯 하다. 자바스크립트 내용이 방대하기도 하고 시간의 제약이 있기도 때문에, 필요한 부분을 배워 적당히 타협해 나가야 할 것 같다.

 

내 심정


위 글은 투두몰 서포터즈 활동의 일환으로 작성된 글입니다.

https://edu.todomall.kr/?utm_source=supporters&utm_medium=contents

 

투두몰 ㅣ 일잘러의 투두리스트를 훔치다

일잘러의 투두리스트를 훔치다! 오피스 툴을 직접 따라하며 배우고, 과제를 통해 결과물을 만들어요.

edu.todomall.kr

 

댓글