지은이 : 이원희
업무 자동화 스튜디오 오토오피스 대표.고려대학교 화공생명공학과를 졸업하고 삼성코닝정밀유리에 입사한 이래 10년간 제조, 커머스, IT 분야에서 서비스 기획자, SW 개발 PM, 커머스 사업팀장으로 다양한 현장을 경험했다. 팀원들과 협업하며 업무를 수행할 때 효율성을 높이고, 사업을 진행하면서 마주하는 다양한 문제에 유연하게 대응하기 위해 클라우드 기반의 구글 애플리케이션을 업무에 도입하고 개발하면서 좋은 성과를 냈다. 최소한의 비용으로 업무 효율성을 200% 이상 높일 수 있음을 직접 확인하고, 2019년에 구글 애플리케이션 기반 업무 자동화·시각화·모바일화 솔루션을 제공하는 오토오피스를 창업했다.매출액 기준 2,000억 원 규모의 대기업 계열사를 비롯 차봇모빌리티㈜ 같은 수백억 원 규모의 강소기업, ㈜아이에스테크놀로지, 바코리아타이어㈜ 등의 중소기업, ㈜더구름, ㈜더빌더스앤컴퍼니 같은 스타트업의 프로젝트를 성공적으로 진행하고 있다.KOTRA 코펜하겐 KBC 컨설턴트KU디지털미디어랩㈜ 파트장아이엔에스오션㈜ 팀장연락 메일: david@autooffice.io웹사이트: autooffice.io
프롤로그
1장 업무 효율성 200%의 비법, 구글 앱스 스크립트
1.1 업무 자동화에 왜 구글 앱스 스크립트가 적합할까요?
1.2 앱스 스크립트로 가능한 자동화 예시
1.2.1 양식에 맞추어 문서 자동 생성하기
1.2.2 정산 과정 자동화하기
1.2.3 웹에서 정기적으로 데이터 가져오기 & 확인하기
1.2.4 이메일, 문자, 카카오톡 발송하기
1.2.5 외부 데이터베이스의 데이터 가져오기
1.2.6 캘린더 자동 생성하고 분석하기
1.2.7 구글 폼으로 받은 첨부파일 정리하기
1.3 앱스 스크립트의 한계점
1.3.1 첫 번째 한계, 한 번에 수천 개의 보고서 생성하기
1.3.2 두 번째 한계, 복잡한 커스텀 함수 만들기
1.3.3 세 번째 한계, 하루에 이메일을 수천 개씩 보내기
1.3.4 네 번째 한계, 너무 자주 함수를 실행하기
1.3.5 다섯 번째 한계, 서버 상태 및 예기치 않은 오류
1.4 이 책은 어떤 내용을 다룰까요?
2장 첫 번째 앱스 스크립트 작성하기
2.1 앱스 스크립트 편집기 살펴보기
2.1.1 앱스 스크립트 편집기 실행과 메뉴 구성
2.1.2 앱스 스크립트 편집기 필수 설정
2.2 A1 셀의 값 가져오기
2.2.1 첫 번째 앱스 스크립트 작성
2.2.2 스크립트 실행 및 권한 허용
2.3 첫 번째 앱스 스크립트의 설명
2.3.1 자바스크립트 기초, 함수와 변수
2.3.2 앱스 스크립트의 클래스와 메서드
3장 구글 시트에서 값 가져오기
3.1 범위를 지정해서 값 가져오기
3.1.1 A1노테이션 방식
3.1.2 자바스크립트 기초, 배열과 객체
3.1.3 행과 열을 지정하는 방식
3.2 탭을 지정해서 값 가져오기
3.2.1 탭이름!범위 방식
3.2.2 getSheetByName() 방식
3.3 자바스크립트 기초, 반복문
3.3.1 for 반복문
3.3.2 while 반복문
3.4 마지막 행까지 값 가져오기
3.4.1 탭의 전체 데이터 가져오기
3.4.2 특정 열의 데이터가 있는 마지막 행을 기준으로 가져오기
익숙해지기
4장 구글 시트에 값 입력하기
4.1 범위를 지정해서 값 입력하기
4.1.1 단일 값 입력하기
4.1.2 배열 값 입력하기
4.2 범위를 지정해서 값 복사하기
4.2.1 copyTo()로 복사하기
4.2.2 탭 전체를 복사하기
4.3 자바스크립트 기초, 배열의 조작
4.3.1 슬라이스slice
4.3.2 필터filter
4.3.3 맵map
4.3.4 리듀스reduce
익숙해지기
5장 실전! 거래처별 월정산서 자동으로 만들기
5.1 업무 자동화 실전 예제 들어가기
5.1.1 실전 예제 소개
5.1.2 예제 데이터와 템플릿 파일 준비
5.2 판매데이터를 원하는 값으로 필터링해서 새로운 탭 만들기
5.2.1 텍스트로 행 필터링하기
5.2.2 날짜 범위로 행 필터링하기
5.2.3 필요한 열만 가져와서 배열을 만들고, 행에 순번 부여하기
5.3 For를 사용해서 반복 필터링하면서 결과 붙여넣기
5.3.1 거래처 배열을 만들어서 for문 사용하기
5.3.2 파일명과 저장되는 폴더 지정하기
5.3.3 구글 시트에서 거래처를 선택해서 월정산서 만들기
5.4 스크립트에 주석 달고 깔끔하게 코드 정리하기
5.4.1 주석 및 코드 정리의 필요성
5.4.2 주석 추가해보기
5.4.3 코드 정리해보기
익숙해지기
6장 실전! 월정산서를 PDF로 변환하고 구글 드라이브에 저장하기
6.1 탭 또는 시트 전체를 PDF로 다운로드받기
6.1.1 데이터에 맞춰 행 조절하기
6.1.2 URL을 사용해 PDF 다운받기
6.1.3 앱스 스크립트로 PDF 다운받기
6.2 탭 또는 시트 전체를 PDF로 변환해 구글 드라이브에 저장하기
6.2.1 UrlFetchApp으로 구글 홈페이지를 PDF로 저장하기
6.2.2 UrlFetchApp으로 구글 시트를 PDF로 저장하기
6.2.3 월정산서 템플릿 탭 숨기기
익숙해지기
7장 실전! 월정산서 PDF를 거래처 이메일로 전송하기
7.1 MailApp 클래스 사용하기
7.1.1 테스트 이메일 전송하기
7.1.2 파일을 첨부해서 이메일 전송하기
7.1.3 서식과 이미지를 추가해서 이메일 전송하기
7.1.4 구글 드라이브의 이미지를 사용해서 이메일 보내기
7.2 디자인된 이메일 전송하기
7.2.1 HTML 코드로 이메일 디자인하기
7.2.2 이메일에 변수 치환하기
7.2.3 구글 드라이브 파일 공유하기
7.2.4 디자인된 이메일 전송하기
7.3 월정산서 PDF 이메일 전송하기
7.3.1 이메일 전송 함수가 매개변수를 받도록 수정하기
7.3.2 오류가 발생하면 예외로 처리하기
익숙해지기
8장 실전! 월정산 시작일과 종료일 설정하기
8.1 구글 시트에서 정산기간 설정하기
8.1.1 세팅 탭 만들기
8.1.2 함수에서 날짜 처리하기
8.2 프롬프트 창으로 정산 기간 입력받기
8.2.1 프롬프트 창을 표시하고 값을 할당하기
8.2.2 입력 받는 문자열을 검증하기
8.2.3 올바른 날짜를 입력할 때까지 프롬프트 창 표시하기
8.2.4 메인 함수에 프롬프트 창 코드 적용하기
8.3 사용자에게 피드백 주기
8.3.1 확인 알림 메시지 표시하기
8.3.2 선택 알림 메시지 표시하기
8.3.3 토스트 메시지 표시하기
익숙해지기
9장 트리거 사용하기
9.1 간단한 트리거 사용하기
9.1.1 간단한 트리거의 종류와 제한 사항
9.1.2 onOpen(e)로 메뉴 추가하기
9.1.3 onEdit(e)로 거래처 전체 선택하기
9.2 설치 가능한 트리거 사용하기
9.2.1 설치 가능한 트리거의 종류와 제한 사항
9.2.2 매월 같은 날에 지난달 월정산서를 발송하는 트리거 추가하기
9.3 프로그래매틱하게 트리거 추가하기
9.3.1 트리거와 스크립트 런타임 6분
9.3.2 코드로 트리거 추가하고 삭제하기
9.3.3 거래처를 나누어 트리거 추가하기
9.3.4 트리거를 사용하지 않는 경우와 퍼포먼스 비교
10장 스크립트 로그 기록하기
10.1 기본 로그 기록하기
10.1.1 로그 기록 준비하기
10.1.2 실행로그 배열 생성하기
10.1.3 실행로그 배열 입력하기
10.2 거래처별 상세로그 기록하기
10.2.1 거래처별 상세로그 배열 생성하기
10.2.2 거래처별 상세로그 배열 기록하기
10.2.3 성공률 추가하고 시각화하기
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)