brunch

매거진 SIDE PROJECT

You can make anything
by writing

C.S.Lewis

by Cozy canvas Apr 12. 2024

구글 DOCS 및 시트 자동화 기초


♣ 목표  

구글 독스와 구글 시트 내에서 간단한 자동화 스크립트 실행하기  



업무 효율성을 높이기 위한 오늘의 목표는 구글 독스와 구글 시트에서 간단한 자동화 스크립트를 실행 하는 것이다. 구체적으로는 구글 독스에서의 문서 포매팅 자동화와 구글 시트에서의 데이터 자동 정렬에 초점을 맞춘다. 


'데이터 자동 정렬이라니, 그냥 시트에서 클릭 몇 번이면 되는건데 이걸로 언제 업무 자동화까지 가지?' 라고 생각할지 모르겠지만, 이렇게 기초를 다지고 툴 사용 방법을 익히면 나중에 자신에게 필요한 자동화 영역이 어디인지, 그렇게 하기 위해서는 어떤 스크립트를 만들어야 하는지 스스로 찾아 보며 업무에 적용할 수 있으니 너무 실망하지 말자. 


구글 DOCS 자동화 - 포맷팅

문서 작업은 사무 직무에서 가장 흔히 마주치는 업무 중 하나이다. 구글 앱스 스크립트를 이용하면 반복적인 문서 포매팅 작업을 자동화 하여 시간을 대폭 절약할 수 있다. 예를 들어 회의록, 보고서, 프로젝트 계획서 등 다양한 문서의 템플릿을 미리 설정하고 스크립트를 통해 자동으로 생성 할 수 있다. 

여기서는 그 기초가 되는 스크립트를 적용 해 보자. 



3-2. 구글 DOCS : 문서 포맷팅 자동화 - 기초



구글 독스 문서 생성  

구글 드라이브에서 ‘새로 만들기’ > ‘Google 문서’를 선택해 새 문서를 생성한다.


스크립트 편집기 접근  

생성한 문서에서 ‘도구(또는 확장 프로그램)’ 메뉴 > ‘스크립트 편집기’를 선택한다.

포맷팅 스크립트 작성  

스크립트 편집기에 아래의 예시 스크립트를 입력합니다. 이 스크립트는 문서에 "Hello, World!"를 추가하고, 해당 텍스트에 대한 스타일을 지정한다.


스크립트 코드( 복사 & 붙여넣기)
function formatDocument() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var text = body.appendParagraph('Hello, World!');
  text.setHeading(DocumentApp.ParagraphHeading.HEADING1);
  text.setFontSize(14);
  text.setForegroundColor('#D50000');
}

스크립트 내용 간단 분석 :  

Hello, World! 를 입력해주고 제목1 형식으로 지정해줘. 글씨 크기는 14이고 글씨 색상은 #D50000(붉은색)로 해줘.


스크립트 실행  

    스크립트 편집기에서 위에서 작성한 format Document 함수를 실행한다.  

    실행 후, 문서로 돌아가서 변경된 포맷팅 을 확인 한다.  

너무 간단한가? 이 스크립트는 간단하지만 문서 포매팅 자동화의 기초를 이해하는데 도움이 된다. 당신은 이걸 기반으로 더 복잡한 문서 자동화 스크립트를 개발 할 수 있다.


스크립트에서 실행을 하고 문서로 돌아가면 문서에 해당 스크립트 내용이 적용 된 것을 볼 수 있다. 우리는 이것을 확인하기 위해 이 작업을 한 것이다.


이게 도움이 되지 않을 것이라고 생각 되는가? 아니다.


우리는 이전 학습에서 '코드를 몰라도 스크립트를 구성하는 법을 배웠다. 그러니 반복과 학습을 통해 결국은 우리가 원하는 자동화 업무를 자신의 일에 적용할 수 있다.


그럼, 간단하게 템플릿을 하나 만들어 보도록 하자. 너무 기대하지는 말고. 



구글 DOCS : 문서 포맷팅 자동화  - 적용

CHAT GPT에게 다음과 같은 내용을 요청한다. 

구글 앱스 스크립트를 사용하여, 회의 시작 시간, 참석자 명단, 주요 의제 등을 포함한 기본 템플릿을 자동으로 생성하는 스크립트를 작성해줘.
주요 참석자는 홍길동, 심청이, 춘향이이며 매주 2~3명은 유동적으로 추가되니 빈칸도 만들어줘.  날짜는 문서작성 일이 되도록 자동 함수를 넣어 줘. 각 내용은 표처럼 테두리가 되어 있으면 좋겠어


이렇게 요청 했더니 CHAT GPT는 다음과 같은 답을 주었다. 

아래는 CHAT GPT가 나에게 준 코드이다. 이를 복사하여 구글 앱스 스크립트에 붙여 넣어 실행 시켜보도록 하자. 


스크립트 코드( 복사 & 붙여넣기)
function createMeetingTemplate() {
  // 새 문서 생성  
var doc = DocumentApp.create('회의록 ' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd"));
  var body = doc.getBody();

  // 테이블에 들어갈 내용 준비
var contents = [
    ['항목', '내용'],
   ['회의 날짜', Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd")],
  ['회의 시작 시간', ''],
  ['주요 의제', '']
  ];

  // 테이블 생성
  var table = body.appendTable(contents);

  // 첫 번째 행(헤더)의 스타일 지정
 var headerRow = table.getRow(0);
  headerRow.getCell(0).setBackgroundColor('#f3f3f3').setBold(true);
  headerRow.getCell(1).setBackgroundColor('#f3f3f3').setBold(true);

  // 생성된 문서의 URL 로그 출력
  Logger.log('회의록 문서가 생성되었습니다: ' + doc.getUrl());
}


스크립트 해석

친절하게도 GPT는 자신이 만든 코드가 어떻게 동작하는지 설명도 해준다.

모두 문제 없이 실행 되었다면 자신의 구글 드라이브에 '회의록'이라는 문서가 새로 생겼음을 알 수 있다. 




구글 시트 자동화 - 데이터 정렬

데이터 관리는 업무의 또 다른 중요한 부분이다. 구글 시트와 앱스 스크립트를 활용하면 데이터 입력, 정렬, 분석 등을 자동화 하여 업무의 정확도를 높이고 시간을 절약 할 수 있다.

예를 들어 매일 또는 매주 발생하는 데이터를 자동으로 정렬하고 분석하여 관리자나 팀원들에게 요약 보고서를 자동으로 전송 할 수 있다


구글 시트 문서 생성  

    구글 드라이브에서 ‘새로 만들기’ > ‘Google 시’를 선택해 새 문서를 생성한다.  

    그리고 A열에 여러가지 가격을 랜덤으로 입력해준다.  


스크립트 편집기 접근  

    생성한 문서에서 ‘도구(또는 확장 프로그램)’ 메뉴 > ‘스크립트 편집기’를 선택한다.  


데이터 정렬스크립트 작성  

    스크립트 편집기에 아래의 예시 스크립트를 입력한다.  


스크립트 코드( 복사 & 붙여넣기)
function sortSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange("A:A");
  range.sort({column: 1, ascending: true});
}



스크립트 실행  

    스크립트 편집기에서 실행 버튼을 눌러 위에서 작성한 함수를 실행한다.  

    실행 후, 문서로 돌아가서 변경된 포맷팅 을 확인 한다.  



시트에서 '오름차순으로 정리'를 하지 않았음에도 정렬이 되었음을 알 수 있다.


방금 우리가 입력한 스크립트는 데이터를 시간 순, 이름 순, 또는 어떤 지정된 기준에 따라 자동으로 정렬해야 할 때 유용하다. 사용자가 스크립트를 실행하면 현재 활성 시트의 A열에 있는 데이터가 자동으로 오름차순으로 정렬되어 데이터 관리와 분석 작업을 보다 쉽게 할 수 있다.


구글 시트도 구글 문서와 마찬가지로 원하는 형식의 스크립트를 GPT에게 물어보고 그것을 적용 할 수 있다. 이에 관한 심화는 이후의 포스팅에서 설명하도록 한다.




  REVIEW POINT  

1. 앞으로 구글 앱스 스크립트를 사용하여 구현해보고 싶은 자동화 프로젝트가 있다면, 그것은 무엇인가?


2. 오늘 학습한 구글 문서 및 시트 자동화의 중요 포인트는 무엇일까? 


3. 구글 앱스 스크립트를 사용하여 자동화를 구현할 때, 어떤 도전 과제를 마주칠 수 있고, 이를 어떻게 극복할 수 있을까?




https://efficiencysecretsnote.blogspot.com/2024/03/docs.html


◈ 독자가 읽으면서 적용할 수 있도록 챗 GPT에 대해 정리한 내용을 브런치에 연재중입니다. 

◈ 더 많은 내용이 궁금하시다면 블로그를 방문해보세요 :)

매거진의 이전글 업무 자동화 여정의 시작, 구글 앱스 스크립트
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari