반응형

GCP/Apps Script 92

Apps Script 라이브러리 생성해서 다른 Apps Script에서 사용하기

💡 Apps Script 프로젝트를 진행함에 있어, 유지보수를 용이하기 위해서, 공통모듈을 라이브러리로 배포하여 사용하는 방법이다. (실제 사용 샘플 / 2023-02-24 추가) Apps Script 라이브러리 생성해서 다른 Apps Script에서 사용하기 - 실제 사용 예 💡 Apps Script 를 이용해 실제로 개발했던 내용을 요약했다. https://whiseung.tistory.com/entry/Apps-Script-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-%ED%8C%8C-%EC%84%A4%EA%B3%84 Apps Script 개발을 위한 구조 설계 이번 프 whiseung.tistory.com 공통으로 사용해야 할 함수들을 포함한 library ..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 데이터를 BigQuery에 Load

💡Apps Script에서 Google Sheets에 입력한 데이터를 BigQuery에 저장하는 방법을 알아본다. 이제 Google Sheets의 데이터를 BigQuery에 저장해본다. BigQuery Service | Apps Script | Google Developers BigQuery 서비스 | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 BigQuery 서비스 BigQuery 서비스를 사용하면 Apps Script에서 Google BigQuery API를 사용할 수 있습니다. 이 API를 통해 사용 developers.google.com 데이터를 입력할 sheet와..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 Number Format 설정하기 + Date Format

💡Apps Script로 Google Sheets의 숫자서식, 날짜서식을 적용하는법을 알아본다. 뭔가 허전하다. 숫자인데 천단위 콤마가 없다. Google Sheets에서 제공하는 숫자서식을 적용하려고 한다. 숫자서식 적용은 간단하다. Class Range | Apps Script | Google Developers Class Range | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Class Range 범위 스프레드시트 범위에 액세스하고 수정합니다. 범위는 시트의 단일 셀 또는 시트의 인접 셀 그룹일 developers.google.com var ss = Spreadsh..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 수식 적용하기

요구사항이 또 들어왔다. NetAmount 에서 TaxAmount 를 뺀 값을 보여달라고 한다. 쿼리를 이용하면 간단하다. 하지만 해당 Sheets에서 값들을 변경하면서 수치들의 변화를 보고싶다고한다. 일단 칸을 만든다. 반복되는 행들에 참조하는 셀들의 값이 달라야한다. F2 = D2 - E2 F3 = D3 - E3 F4 = D4 - E4 그렇기 때문에 setFormula 가 아닌, var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var cell = sheet.getRange("B5"); cell.setFormula("=SUM(B3:B4)"); setFormulaR1C1을 써야한다. var ss = Spreads..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 조건부서식 설정하기

💡 Apps Script를 이용해 Google Sheets의 조건부서식을 적용하는 방법을 알아본다. 서식에 대한 요구사항이 들어왔다. TransactionCurrency가 “KRW” 이고, NetAmount, TaxAmount 값이 250,000 이상인 데이터들에 대해 강조를 하고싶다. Class ConditionalFormatRuleBuilder | Apps Script | Google Developers Class ConditionalFormatRuleBuilder | Apps Script | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Class ConditionalFormatRuleBuild..

GCP/Apps Script 2022.09.06

Apps Script로 Google Sheets의 Dropdown 생성하기

💡 Apps Script로 Google Sheets에서 Dropdown(Data Validation)을 생성하는 방법을 알아본다. Google Sheets에서 데이터를 입력하거나 조회 할 때, Dropdown 으로 입력 할 경우가 생긴다. 1. Google Sheets 데이터 영역을 Dropdown(Data validation) 으로 생성 function settingDropdown() { const sheet = SpreadsheetApp.getActive().getSheetByName("Sheet1"); // Dropdown 데이터 영역 설정 const validationCell = sheet.getRange("C2:C12"); // 생성할 영역 설정 const setCell = sheet.getRa..

GCP/Apps Script 2022.09.06

Apps Script로 BigQuery 데이터를 Google Sheets에 뿌려주기

그럼, 데이터를 조회해서 바로 Google Sheets에 바로 뿌려줄 수 있는 기능을 구현해본다. 초기에 작성한 부분이라, 모든 함수를 호출 할 때 SheetUrl, SheetName 을 계속 호출하는데 excuteA(sheetUrl, sheetName); excuteB(sheetUrl, sheetName); excuteC(sheetUrl, sheetName); 앞으로 개발 할 때는 sheet 를 먼저 선언하고, sheet를 넘겨 매번 sheet를 호출하는 작업을 없애야함 var sheet = SpreadsheetApp.openByUrl(sheetUrl).getSheetByName(sheetName); excuteA(sheet); excuteB(sheet); excuteC(sheet); 데이터 조회하는 ..

GCP/Apps Script 2022.09.06

Apps Script로 BigQuery 연결

Apps Script로 BigQuery 의 데이터를 읽고 쓰기를 한다. Services 에서 [+] 버튼을 누르고, BigQuery API를 선택한다. BigQuery 의 쿼리문 실행 샘플 /** * Query 실행 및 결과반환 * select / insert / update * @param {string} queryString = Query */ function queryExcute(queryString) { queryString = 'SELECT BillingDocument, BillingQuantityUnit, NetAmount, TaxAmount, BillingDocumentItemText FROM `project_id.dataset_id.standard_long` WHERE Transaction..

GCP/Apps Script 2022.09.06

Apps Script에서 로그인한 사용자 정보 가져오기

데이터를 저장할 때 사용자의 정보를 함께 저장하려고 한다. 서비스에서 Drive를 추가해야한다. 서비스의 [ + ] 버튼을 누르고 Drive를 찾아 추가한다. Drive 서비스를 이용해 로그인한 사용자의 이름과 id를 가져와 처리할수 있게됫다. /** * Get login user information. * 로그인한 사용자 정보 가져오기 */ function getUserInfo() { const about = Drive.About.get(); const user = { name : about.name, userId : about.user.emailAddress }; return user; } function getName() { const userInfo = getUserInfo(); console.l..

GCP/Apps Script 2022.08.26

Apps Script 개발을 위한 구조 설계

💡Apps Script 프로젝트를 진행하기 위한 구조를 설계한다. 이번 프로젝트에서는 Google Sheets 를 여러 부서에서 사용한다. (영업팀, 회계팀 ... ) 영업팀은 - 서울 영업팀 - 부산 영업팀 - 대구 영업팀 등으로 구성되며 영업팀 별로 파일이 구성되어야 한다. 이렇게 되면 영업팀 업무프로세스의 변경이 발생할 경우, 모든 영업팀의 Google Sheets에 들어가서 로직을 수정을 해야한다. 유지보수가 너무 힘들다. 그렇기 때문에 영업팀의 Google Sheets 에서는 영업팀 공통모듈을 연결하여 부서별 프로세스로직을 정의하고, 공통모듈에서 조회, 저장등을 모든 기능을 구현한다. 공통모듈로 사용할 Apps Script들을 Web App 으로 Deploy 하고, 사용할 위치에서 라이브러리로 ..

GCP/Apps Script 2022.08.26
반응형