티스토리 뷰
구글 스프레드시트에서 Apps Script를 이용해 Alert 메시지창을 표시하는 방법을 알아보세요. 다양한 버튼 옵션과 반환값 처리까지 상세한 가이드를 제공합니다.
구글 스프레드시트에서 Alert 메시지창 표시하기
구글 스프레드시트는 단순한 데이터 관리 도구를 넘어, Google Apps Script를 활용하면 강력한 자동화 기능을 제공합니다. 그중 Alert 메시지창은 사용자에게 정보를 전달하거나 선택을 요청하는 데 유용합니다. 이번 글에서는 구글 스프레드시트에서 Alert 메시지창을 구현하고 활용하는 방법을 자세히 알아보겠습니다.
Alert 메시지창이란?
Alert 메시지창은 사용자가 특정 작업을 수행하기 전에 정보를 보여주거나 확인을 요청하는 팝업 창입니다. Google Apps Script를 통해 구현할 수 있으며, 다음과 같은 주요 기능을 제공합니다:
- 정보 전달: 단순한 메시지를 사용자에게 보여줍니다.
- 확인 요청: OK 또는 Cancel 버튼으로 사용자의 선택을 받습니다.
- 결정 요청: Yes/No 또는 Yes/No/Cancel 버튼으로 명확한 결정을 요청합니다.
Google Apps Script로 Alert 메시지 구현하기
Google Apps Script는 JavaScript 기반의 스크립팅 언어로, 구글 스프레드시트를 확장하고 자동화할 수 있습니다. 아래는 Alert 메시지창을 구현하는 기본 코드입니다.
function alertMessage() {
SpreadsheetApp.getUi().alert("Alert message");
}
위 코드는 간단한 정보 알림창을 띄웁니다. alert()
함수의 파라미터에 표시할 메시지를 입력하면 됩니다.
다양한 Alert 버튼 옵션
Alert 창은 버튼 옵션에 따라 여러 유형으로 나뉩니다. 각 유형별 예제 코드는 아래와 같습니다.
1. OK 버튼만 있는 알림창
function alertMessageOK() {
SpreadsheetApp.getUi().alert("This is an OK button alert.");
}
2. OK / Cancel 버튼
사용자가 작업을 진행할지 여부를 확인할 때 유용합니다.
function alertMessageOKCancel() {
var ui = SpreadsheetApp.getUi();
var result = ui.alert("Do you want to proceed?", ui.ButtonSet.OK_CANCEL);
if (result == ui.Button.OK) {
SpreadsheetApp.getActiveSpreadsheet().toast("You clicked OK");
} else {
SpreadsheetApp.getActiveSpreadsheet().toast("You clicked Cancel");
}
}
3. Yes / No 버튼
Yes 또는 No로 명확한 결정을 요구할 때 사용합니다.
function alertMessageYesNo() {
var ui = SpreadsheetApp.getUi();
var result = ui.alert("Do you approve this action?", ui.ButtonSet.YES_NO);
if (result == ui.Button.YES) {
SpreadsheetApp.getActiveSpreadsheet().toast("Approved");
} else {
SpreadsheetApp.getActiveSpreadsheet().toast("Not Approved");
}
}
4. Yes / No / Cancel 버튼
세 가지 선택지를 제공하며, 주로 복잡한 결정을 요구할 때 사용됩니다.
function alertMessageYesNoCancel() {
var ui = SpreadsheetApp.getUi();
var result = ui.alert("Choose your option:", ui.ButtonSet.YES_NO_CANCEL);
if (result == ui.Button.YES) {
SpreadsheetApp.getActiveSpreadsheet().toast("You selected Yes");
} else if (result == ui.Button.NO) {
SpreadsheetApp.getActiveSpreadsheet().toast("You selected No");
} else {
SpreadsheetApp.getActiveSpreadsheet().toast("You cancelled the action");
}
}
반환값 활용하기
Alert 창에서 사용자가 클릭한 버튼에 따라 반환값이 다릅니다. 이를 활용해 조건문으로 다양한 동작을 설정할 수 있습니다.
- OK:
ui.Button.OK
- Cancel:
ui.Button.CANCEL
- Yes:
ui.Button.YES
- No:
ui.Button.NO
- Close(X):
ui.Button.CLOSE
예를 들어, OK와 Cancel 버튼의 반환값을 처리하는 코드는 다음과 같습니다:
if (result == SpreadsheetApp.getUi().Button.OK) {
// OK 클릭 시 실행되는 코드
} else if (result == SpreadsheetApp.getUi().Button.CANCEL) {
// Cancel 클릭 시 실행되는 코드
}
Alert 창에 제목 추가하기
alert()
함수는 기본적으로 제목 없이 메시지만 표시됩니다. 하지만 제목과 함께 표시하려면 세 번째 파라미터로 ButtonSet
옵션을 추가해야 합니다.
function alertWithTitle() {
SpreadsheetApp.getUi().alert("Custom Title", "This is a message with a title.", SpreadsheetApp.getUi().ButtonSet.OK);
}
Toast와의 차이점
Alert 창은 사용자가 명시적으로 닫아야 하지만, Toast는 일정 시간 후 자동으로 사라지는 알림입니다. Toast는 다음과 같이 사용할 수 있습니다:
function showToast() {
SpreadsheetApp.getActiveSpreadsheet().toast("This is a toast message", "Notification Title");
}
실전 활용 예제: 버튼과 연결하기
Alert 창은 스프레드시트 내에서 버튼과 연결하여 더욱 직관적으로 사용할 수 있습니다.
- 버튼 생성
- 삽입 > 그림 > 이미지를 선택하여 버튼 모양으로 삽입합니다.
- 스크립트 연결
- 삽입된 이미지를 클릭하고 메뉴에서 '스크립트 할당'을 선택합니다.
- 함수 이름(예:
alertMessage
)을 입력합니다.
버튼 클릭 시 지정된 함수가 실행되며, Alert 창이 표시됩니다.
결론
Google Apps Script를 활용하면 구글 스프레드시트에서 Alert 메시지창을 간단히 구현할 수 있습니다. 이를 통해 사용자와의 상호작용을 강화하고, 작업 흐름에 필요한 확인 절차를 추가할 수 있습니다. 다양한 버튼 옵션과 반환값 처리를 통해 더욱 유연하게 활용해 보세요.
자주 묻는 질문
Q1: Alert 창 외에 사용자 입력을 받을 수 있나요?
A1: 네, prompt()
함수를 사용하면 사용자 입력값을 받을 수 있습니다.
Q2: Alert 창이 특정 조건에서만 나타나게 할 수 있나요?
A2: 조건문(if
)과 결합하여 특정 조건에서만 Alert 창이 나타나도록 설정할 수 있습니다.
Q3: Toast와 Alert 중 어떤 것을 사용해야 하나요?
A3: 사용자가 명확히 확인해야 하는 경우에는 Alert를, 간단한 알림은 Toast를 사용하는 것이 적합합니다.