라이브정보
방송일
2022년10월22일 (113회)
강의시간
1시간 9분
보충자료
✅ 구글시트 Apps Script 자동화 스터디 2일차 완성 코드
📋Session.getTimeZone 함수는 아직 사용가능하나 향후 미지원 될 예정으로, 함수 작성시 위에 취소선이 표시될 수 있습니다.
그럴 경우, "getTimeZone" 대신 "getSciprtTimeZone" 함수를 사용하면 취소선 없이 코드를 작성할 수 있습니다.

그럴 경우, "getTimeZone" 대신 "getSciprtTimeZone" 함수를 사용하면 취소선 없이 코드를 작성할 수 있습니다.

/**
* 사전미션 - 첫번쨰 미션 (BMI 계산하기)
* */
/**
* BMI(체질량지수)를 계산합니다.
*
* @param height 키를 "cm" 단위로 입력합니다.
* @param weight 몸무게를 "kg" 단위로 입력합니다.
* @customfunction
*/
function BMI(height, weight) {
if (!height || !weight) {
throw "키(cm) 또는 몸무게(kg)가 누락되었습니다.";
}
var result = weight / (height/100)**2;
var condition;
if (result > 25) {
condition = "비만";
} else if (result > 23) {
condition = "과체중";
} else if (result > 18.5) {
condition = "정상";
} else {
condition = "저체중";
}
return result.toFixed(2)+" ("+condition+")";
//var result = weight / (height/100)**2
}
/**
* 사전미션 - 두번쨰 미션 (현재 시간 출력하기)
* */
function printTime() {
// 현재 시간을 [yyyy년 MM월 dd일] HH시 mm분 형태로 받아옵니다.
var newTime = new Date;
var timeZone = Session.getTimeZone();
var displayTime = Utilities.formatDate(newTime, timeZone, "[y년 M월 d일] H시 m분")
//var ui = ... 로 안내창을 출력하는 코드를 작성해보세요!
var ui = SpreadsheetApp.getUi();
ui.alert(displayTime);
}
/**
* 연산자 살펴보기
* */
function test() {
var a = 1;
a = a + 1;
a += 1;
}
/**
* 입력창으로 키/몸무게 받아온 후, BMI 출력/계산하기
* */
function printBMI() {
var app = SpreadsheetApp;
var ui = SpreadsheetApp.getUi();
var height = ui.prompt("키를 cm단위로 입력하세요.").getResponseText();
var weight = ui.prompt("몸무게를 kg단위로 입력하세요.").getResponseText();
var result = weight / (height/100)**2;
var ss = app.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
var activeCell = activeSheet.getActiveCell();
activeCell.setValue(result.toFixed(2));
ui.alert("당신의 BMI는 "+result.toFixed(2)+" 입니다.");
}
/**
* 나만의 커스텀 메뉴 등록하기
* */
function initCustomMenu() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu("커스텀메뉴");
var submenu = ui.createMenu("기능모음");
menu.addItem("BMI입력","printBMI");
menu.addSeparator();
menu.addItem("현재시간출력","printTime")
menu.addSeparator();
submenu.addItem("BMI입력","printBMI");
submenu.addItem("현재시간출력","printTime");
menu.addSubMenu(submenu);
menu.addToUi();
}
/**
* 구글 시트 실행 트리거 이벤트 코드
**/
function onOpen() {
initCustomMenu();
}
스크립트는 로그인 후 이용할 수 있습니다.
로그인
var timeZone = Session.getTimeZone(); 에서
getTimeZone 이 취소선으로 나타납니다.
왜 그런걸까요?
getTimeZone 함수가 폐기되어서(사용 불가하게 될 예정) 그렇습니다.
아직 geTimeZone 함수는 사용 가능하나, getTimeZone 대신 getScriptTimeZone 함수를 사용해보세요 :)
감사합니다.