5개월, 혹은 그 이상의 몰입 과정을 통해 개발 공부를 마쳤다고 해도, 개발자로만 취업하는 것은 아닙니다. (제가 수료한 부트캠프 기준으로) 약 15~20% 의 수료생이 개발자가 아닌 다른 직종을 선택한다더라구요.
개발 공부한 것이 아깝지 않을까 생각하실지 모르겠지만, 꼭 개발자로 취직하지 않아도 관련 공부는 다양하게 사용이 가능할 거라고 생각합니다. 개발에 관한 지식을 알고있는 것만으로 개발자들과 조금 더 쉽게 소통이 가능할 뿐 아니라, 요즘은 다양한 영역에서 개발 지식을 뽐낼 수 있기도 하죠.
오늘은 업무를 효율적으로 바꿔줄 수 있는 Apps Script 에 대해 소개해보려고 합니다. 저는 엑셀의 구글 버전인 Google Sheets 에 접목해 자동화 과정을 구축했었는데요. JavaScript 기반으로 구축된 언어인 만큼 조금만 공부해도 금새 활용이 가능하다는 점이 장점인 것 같습니다. 그러면 Apps Script 에 대해 알아볼까요?
홈 화면에서는 Apps Script 를 다음과 같이 소개하고 있습니다.
A cloud-based JavaScript platform that lets you integrate with and automate tasks across Google products.
JavaScript 나 automate 와 같은 키워드가 눈에 띄는데요. 사실 Apps Script 로 할 수 있는 일들은 이렇게나 많다고 합니다.
오늘 이 글에서는 Google Sheets 를 자동화하는 데 사용한 몇 가지 메서드를 소개하는 것으로, Apps Script 를 어떻게 사용했는지 짤막하게 소개해보려고 합니다.
구글 시트를 생성하거나 접근할 수 있는 클래스로 SpreadsheetApp 이 있습니다. Spreadsheet 서비스의 부모 클래스라고 합니다. 저는 SpreadsheetApp 으로 접근 가능한 여러 메서드를 활용해 자동화 과정을 진행했었습니다.
현재 활성화된 스프레드 시트를 반환하는 메서드입니다. 단독적으로 사용했을 때는 빈 객체를 돌려주기 때문에 처음에는 어떻게 사용하는 지가 헷갈렸는데요. 예시에서 알 수 있듯이 다른 메서드와 함께 활용해야 합니다.
getActive() 메서드에 연결해서 활용하게 되면 특정 이름의 시트를 가져올 수 있습니다. 시트 이름을 문자열 형태의 인자로 전달하면 됩니다.
const workingSheet = SpreadsheetApp.getActive().getSheetByName('자동화테스트');
특정한 범위를 지정할 수 있습니다. A1:P50
과 같은 형태를 문자열로 전달하면 됩니다.
getRange() 메서드와 조합해 특정한 범위에 있는 값을 이중 배열의 형태로 불러올 수 있습니다.
const columnP = workingSheet.getRange('P1:P400').getValues();
getRange() 메서드와 조합해 특정 셀에 값을 추가할 수 있습니다.
const rawData = workingSheet.getRange(1, 1).setValue(`테스트`);
어느 정도 틀이 완성된 상황이었던 터라 언급한 메서드 만으로 원하는 기능의 구현이 가능했는데요. 문서만 봐도 정말 엄청나게 많은 메서드가 있습니다. 잘 활용한다면 구글 제품을 사용하는 여러 업무를 간편하게 처리할 수 있습니다. 다만 메서드가 많은 만큼 원하는 기능을 찾기가 쉽지 않아 구글링이나 내부 검색을 잘 활용해야 합니다.
Apps Script 와 간단한 업무 자동화까지 연결해서 소개하는 코드스테이츠 크루의 영상을 링크로 남겨드립니다. 관심이 있으신 분들은 참고해보시면 어려움 없이 Apps Script 에 입문하실 수 있을 것 같습니다.