반응형

GCP/Apps Script 95

Apps Script로 Google Sheets의 비밀번호 설정하기

Google Sheets의 권한 관리는 존재하지만, public으로 열어놓앗을 경우의 권한관리에는 어려움이 있다. 모든 사용자에게 Sheet를 수정 할 수 있는 권한을 주고 Google Sheets의 비밀번호를 설정해 비밀번호를 아는 사람들만 사용할 수 있도록 하고 싶다. 나만 볼수 있는, 별도의 Google Sheet에 비밀번호를 적어 놓았다. 다른 Google Sheets에서 password를 가져와, prompt를 통해 비밀번호를 입력 받는다. function protectSheet () { // 비밀번호를 관리하는 시트 const passwordSheetId = "GOOLE_SHEET_ID"; const passwordSheetName = "password"; const passwordSheetS..

GCP/Apps Script 2023.05.23

Apps Script로 Google Sheets의 특정 데이터들을 가진 시트들만 모아 분류하기

아래와 같은 시트가 있다. location(B 컬럼) 별로 새로운 시트를 만들어 나누고 싶다. 1. location 의 중복을 제거한다. function seperateSheet () { const ss = SpreadsheetApp.getActive(); const sheet = ss.getSheetByName("locations"); // 중복제거 const keys = sheet.getRange(1, 2, sheet.getLastRow()-1, 1).getValues(); let dupArr = new Array(); for ( i in keys ) { dupArr.push(keys[i][0]); } let uniqueKeys = [...new Set(dupArr)]; console.log(uniq..

GCP/Apps Script 2023.05.22

Apps Script로 Google Sheets 기반의 상품 관리 시스템 만들기

💡 Google Sheets 기반의 상품 관리 시스템을 만들어본다. 얼마전에 간단한 상품등록 화면을 구현해보았다. 상품 등록, 수정, 삭제가 가능한 시스템으로 고도화 해본다. Apps Script로 Google Sheets에서 상품 관리 sheet 만들기 💡 Google Sheets에서 상품을 등록하고 리스트로 관리하는 화면을 구성해본다 입력폼에서 상품 정보를 입력하면, 리스트 화면에 입력한 상품의 리스트가 추가되는 화면을 구성해본다. 입력 화면에 whiseung.tistory.com 사용자들이 자신의 Google Sheets에서 상품 정보들을 입력하고, 리스트를 확인만 할 수 있다. 관리자용 Google Sheets 에서 상품 정보 리스트를 확인하고 이력 관리까지 할 수 있는 간단한 시스템을 구현해본다..

GCP/Apps Script 2023.05.17

Apps Script로 Google 서비스 기반의 간단한 예약 시스템 만들기

💡 Apps Script를 이용해 배포한 Webapp에서 입력 받은 데이터를 Google Sheets에 저장하고, Google Calendar 일정 등록하는 간단한 예약 시스템을 만들어본다. Sequence webapp 으로 배포한 html 페이지에서 개인정보와 예약일자를 입력 받는다. 입력한 날짜에 일정이 등록되어 있는지 확인한다. Google Sheets에 이름과 날짜를 이력 관리 용도로 입력한다. Google Calendar 에 일정을 등록한다. 예약 완료 이메일을 전송한다 1. 코드 작성 1.1 code.gs function doGet(e) { Logger.log(JSON.stringify(e)); var htmlOutput = HtmlService.createTemplateFromFile('pa..

GCP/Apps Script 2023.04.27

Apps Script로 Google Sheets의 Banding을 이용해 표 꾸미기

Google Sheets Banding 이란? Google Sheets Banding은 Google Sheets에서 시각적으로 구분하고 강조하는 데 사용되는 기능 중 하나 입니다. 이 기능을 사용하면 셀의 배경 색, 글꼴 색상 등과 같은 서식을 일괄 적용하여 시트의 내용을 더욱 쉽게 읽을 수 있습니다. Banding은 특정 셀 범위 내에서 균일한 패턴을 만들 수 있도록 셀 배경 색을 교대로 변경합니다. 예를 들어, 각각 두 개의 행 또는 열로 번갈아가며 색을 변경하면 대상 범위가 더욱 눈에 띄고 쉽게 구분할 수 있습니다. 이 기능은 스프레드시트 내에서 데이터를 시각적으로 분류하고 보다 효과적으로 표시할 수 있도록 도와줍니다. Banding은 다양한 스타일 및 색상 조합으로 적용될 수 있으며, 특정 데이터..

GCP/Apps Script 2023.04.25

Apps Script로 Google Sheets의 선택된 항목을 sidebar에서 수정하도록 구현 (셀 클릭 이벤트 대체)

Google Sheets에서 버튼을 생성해 클릭하여 이벤트를 실행 할 수는 있으나 셀 클릭 event는 없는 것 같다. 셀 클릭 이벤트가 안되니, 셀에 checkbox를 생성하고 checkbox를 클릭 했을 때 sidebar를 열어주는 이벤트를 추가해본다. 아래와 같은 sheet가 있다. 일단 checkbox가 여러 개 선택 되지 않고 하나만 선택되도록 해본다. /** * edit event * @param {object} e = event */ function onEdit(e) { const getValue = e.value; const spreadSheet = e.source; const sheetName = spreadSheet.getActiveSheet().getName(); const colum..

GCP/Apps Script 2023.04.21

Apps Script로 Google Sheets의 데이터를 선택 해 명세서나 세금계산서, invoice 등과 같은 양식을 pdf 파일로 생성해 이메일로 전송하기

💡 Google Sheets에서 선택된 데이터로 pdf파일을 생성 해 이메일로 전송해본다. Google Sheets 에서, 선택된 데이터들에 대해 명세서 이메일을 전송한다. 이메일을 보낼 때, pdf파일도 생성해 같이 첨부해서 보내줘 본다. 아래에서 정리한 내용들을 활용해서 개발을 진행해본다. Apps Script로 Google Sheets의 Checkbox 생성 후, Checkbox 조작하기 Apps Script를 이용해, 1. Google Sheets에 Checkbox를 생성 2. 체크가 되엇을떄 다음셀에 값을 입력 3. 체크된 checkbox 수 세기 4. 전체선택/전체선택해제 를 해보겠다. 체크박스 생성 function createCheckbox() { cons whiseung.tistory.co..

GCP/Apps Script 2023.04.19

Apps Script로 ChatGPT의 openAPI를 Google Sheets에서 호출하기

💡 Apps Script로 ChatGPT openAPI를 호출해본다. 요새 ChatGPT가 핫하다. 그래서 Google Sheets에서 ChatGPT를 사용할 수 있는 테스트 해보고 방법을 정리해봣다. 1. API를 사용하기 위해, key를 발급 받는다. ChatGPT로 물어 물어봤다. 1.1 아래 웹페이지로 접속한다. OpenAI API An API for accessing new AI models developed by OpenAI platform.openai.com 1.2 로그인 후 [View API Keys] 를 클릭한다 1.3 [Create new secert key] 를 이용해 key 를 발급받는다. 2. ChatGPT를 실행하는 코드를 작성한다. const SECRET_KEY = "생성한 A..

GCP/Apps Script 2023.04.14

Apps Script로 Google Sheets의 column들을 Group화 하여 화면 심플하게 보기

💡 Apps Script로 Google Sheets 셀 그룹을 지정해본다. 엑셀 작업을 하다 보면, 컬럼이 많아지는 경우가 발생한다. (내 경우는 컬럼이 210개까지 경험해봤다..) 컬럼이 많아져 발생되는 이슈는 한눈에 데이터를 확인하거나, 원하는 데이터를 찾기 힘들 경우가 많아진다. 아래와 같이 A ~ O 까지 데이터를 가진 시트가 잇다. 데이터를 구분 할 수 있는 명칭들만 보여주고, 하위 데이터들은 숨겨주는 Grouping 기능을 구현해본다. 1. 그룹 생성하기 일단 목록정보의 목록명 아래의 D~F column을 그룹화 해본다. function groupSheet() { const sheet = SpreadsheetApp.getActive().getSheetByName("개방목록현황_3월"); // ..

GCP/Apps Script 2023.04.13

Apps Script로 Google Sheets의 범위 이름 설정을 이용해 셀 관리하기

💡 Google Sheets의 범위 이름을 사용하는 방법을 알아본다. Apps script로 Google Sheets의 영역을 R1C1 형식으로만 데이터를 관리하기보다는, 영역의 이름을 지정해 관리하는 방식이 script의 가독성이나 유지 보수 측면에서 유용할 것이다. 범위 이름 지정하기 function setSheetRange() { const ss = SpreadsheetApp.getActive(); const sheet = ss.getSheetByName("시트29"); const rangeName = sheet.getRange(`A2:A${sheet.getLastRow()}`); const rangeCode = sheet.getRange(`B2:B${sheet.getLastRow()}`); ss...

GCP/Apps Script 2023.04.12
반응형