반응형

Google 52

Apps Script로 Google Sheets의 종속되는 Dropdown 만들기

입력시트에서, 공통데이터 시트의 데이터들을 dropdown으로 선택하여 입력하고 싶다. 하지만 data validation을 위해 시도에서 서울시를 선택하면 서울시에 해당하는 지사들만 입력하고 싶다. 동작지사 강남지사 강남지사 중구지사 중구지사 관악지사 강북지사 강동지사 공통데이터에서 사용할 데이터 범위의 이름을 먼저 지정해준다. 범위를 지정하고, 우클릭을 한 뒤 [이름이 지정된 범위 지정] 을 클릭한다. 범위 이름을 지정하면, 오른쪽과 같이 지정된 셀 범위의 이름을 확인 할 수 있다. /** * 데이터 구조 가져오기. */ function getStructreData() { const ss = SpreadsheetApp.getActive(); const data = ss.getRangeByName("d..

GCP/Apps Script 2023.01.12

Apps Script로 Sidebar를 이용한 이메일 전송 컴포넌트 개발

정해진 양식으로만 이메일을 보내보는것을 해봤다. Apps Script로 Email 보내기 (HTML 양식) 이메일을 보내는 기능을 구현한다. 이메일의 경우는, Google Sheets로 관리되는 거래내역이나 급여내역 등을 다수 전송 할 경우 사용 할 수 있을것이다. 템플릿을 만들고, Google Sheets의 데이터들을 whiseung.tistory.com 수신자와 내용을 입력해 보낼 수는 없을까? Google Sheets에서 제공하는 sidebar를 이용해 메일을 보내본다. 일단 상단 메뉴를 만든다. - Code.gs // Code.gs function onOpen() { SpreadsheetApp.getUi() .createMenu('✉️ email') .addItem('📨 email sender',..

GCP/Apps Script 2023.01.12

Apps Script로 Email 보내기 (HTML 양식)

이메일을 보내는 기능을 구현한다. 이메일의 경우는, Google Sheets로 관리되는 거래내역이나 급여내역 등을 다수 전송 할 경우 사용 할 수 있을것이다. 템플릿을 만들고, Google Sheets의 데이터들을 붙여넣어 보낼 수 있을것이다. 단 발신자는 AppsScript의 생성자 계정으로 변경 할 수 없다. Apps Script 의 이메일 전송 함수 /** * Send Email. * 이메일을 이용한 Notify. * @param {string} recipient = 받는사람 * @param {string} subject = 제목 * @param {string} body = 내용 * Ref = */ function sendEmail(recipient, subject, body) { var recip..

GCP/Apps Script 2023.01.11

JAVA 프로젝트로 GCP BigQuery의 Select 쿼리 실행 해보기

Java로 GCP BigQuery의 dataset 을 가져와 봤으니, 데이터셋 안에 생성된 테이블의 데이터를 select query로 가져와본다. ■ 호출부 void contextLoads() throws Exception { System.out.println("############### start ###############"); String projectId = "projectId "; String datasetName = "datasetName "; String tableName = "tableName "; // select String selectQueryString = "SELECT col01, col02, col03 " + " FROM `" + projectId + "." + datasetN..

GCP/BigQuery on GCP 2023.01.10

AppSheet 에서 AppSheet Database 훑어보기

Google 에서 제공하는 AppSheet 처음 접했을때는, App에서 Google Sheet의 데이터를 관리할수 있도록 하는 형태의 서비스였다. (구글시트 데이터) (AppSheet 화면) 하지만 현재 Google Drive 뿐만 아니라, BigQuery, RDBMS 등에도 접근이 가능하다. AppSheet 에서 새로운 프로젝트를 만들어본다. 프리뷰 서비스인 Database 를 만들어본다. [+ Create] → [Database] → [New database] 데이터 베이스를 생성했을 때 초기 값. 컬럼과 데이터를 수정해본다. 그리고 새로운 App 을 생성해본다. [Data] 메뉴에 위에서 생성한 Database와 동일한 데이터가 보여지는지 확인한다. [Views] 메뉴에서 화면 layout 등을 변..

GCP 2023.01.09

Apps Script로 Google Sheets 상단 메뉴 버튼 만들기

Google Sheets에서 Apps Script 의 function들을 실행 할 수 있는 방법은, 상단 메뉴에 버튼을 추가하거나 sheet 내부에 버튼을 추가하는 방식이 있을 것이다. 상단 메뉴에 버튼 만드는법 Apps Script에서 제공하는 Simple Tirggers 의 onOpen() 을 이용한다. 해당 Google Sheets가 열릴 때 마다 실행 되는 트리거 이다. SpreadsheetApp API의 createMenu 를 이용한다. 실행방법은 간단하다. .createMenu('상위메뉴 이름) .addItem('하위메뉴 이름', '실행될 함수 명') /** * Generate Top buttons. */ function onOpen() { SpreadsheetApp.getUi() .creat..

GCP/Apps Script 2023.01.03

Apps Script로 Google Sheets에서 Dropdown의 multi select(다중선택) 구현

현재 ‘code’ 라는 시트의 데이터를 Dropdown(선택상자, SelectBox) 을 조회 조건으로 사용 중이다. ‘testSheet’ 라는 시트에서, G/L 계정의 조회 조건을 다중 선택을 하고 싶다는 요구 사항을 받았다. Google sheets에서 제공하는 기능은 없었고, 커스텀이 필요했다. 앞의 코드를 선택하면, 코드에 부합하는 뒤의 명칭을. 뒤의 명칭을 선택하면, 명칭에 부합하는 앞의 코드를 뿌려주는 기능도 물론 포함이다. 일단, onEdit() 트리거를 사용한다. code 와 명칭이 변경될때 event를 생성한다. /** * edit event * @param {object} e = event */ function onEdit(e) { const getValue = e.value; cons..

GCP/Apps Script 2023.01.02

Apps Script로 공공데이터 포털 openAPI 데이터를 매일 Telegram으로 받기

매일 주택청약 확인을 위해 홈페이지를 들어갔다. https://www.applyhome.co.kr/ai/aib/selectSubscrptCalenderView.do#a 매일 홈페이지를 들어가지 않고, 공공데이터 포털에서 제공하는 데이터를 Telegram 메세지로 받아보도록 해봤다. 1. telegram bot 설정하기 BotFather 을 검색하고 인증되어 있는 BotFather을 선택한다. /start 를 입력하고, /newbot 으로 bot을 생성한다. 생성할 bot 이름을 입력한다. 입력하면 토큰을 발 받을 수 있다. getUpdates url 을 호출하면 빈값을 반환한다. https://api.telegram.org/bot${token}/getUpdates {"ok":true,"result":[{..

GCP/Apps Script 2022.12.29

관리용 Apps Script로 여러개의 Google Sheets 템플릿 관리하기

아래와 같이 동일한 템플릿의 여러 Google Sheets 파일들을 관리해야 할 경우가 발생할 수 있을것이다. 영업팀의 경우, 서울 영업팀, 부산 영업팀의 Google Sheets들이 따로따로 존재할 것이고, 서울, 부산의 sheet 템플릿에 동일한 수정이 필요할 경우가 생길것이다. 연락처라는 항목 뒤에 다른 항목을 추가하려고 한다. 10개의 사업소일 경우, 모든 사업소의 파일을 열어 수정해주어야 할것이다. Google Sheets들의 URL 들을 가지고, 모든 sheet의 항목을 한번에 추가 할 수있다. 먼저 파일들의 url들을 변수로 선언해주고, 변수들을 배열에 담아, loop를 돌아주면서 주어진 셀에 모두 같은 값과 서식을 지정해주는 방식으로 구현하면 모든파일을 다 수정할필요 없이, Apps Scr..

GCP/Apps Script 2022.12.21

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
반응형