구글 설문지 시간 조건 자동 종료 예제 코드
구글 설문지 자동 종료는 시험, 이벤트 신청, 설문 응답 마감 관리에 꼭 필요한 기능이에요.
기본적으로 구글 설문지에는 ‘자동 종료’ 옵션이 없기 때문에, Google Apps Script를 활용해 직접 설정해야 합니다.
이 글에서는 초보자도 쉽게 따라 할 수 있는 예제 코드와 설정법을 정리했어요.
이 글에서 배울 수 있는 것
- 설정한 시간에 맞춰 설문 자동 종료하기
- 스프레드시트와 연동해 종료시간 관리하기
- 응답 수 제한 + 시간 조건을 동시에 설정하기
구글 설문지 자동 종료가 필요한 순간
시험 시간 관리
학교나 기업 시험에서 시작·종료 시간이 명확해야 할 때, 자동 종료 기능은 필수예요. 수동으로 닫는 실수를 방지할 수 있죠.
이벤트 신청 마감
선착순 모집에서 신청 마감을 놓치면 혼란이 생겨요. 자동 종료를 걸어두면 정확한 시간에 딱 맞춰 접수가 마감됩니다.
설문 응답 제한
연구조사나 마케팅에서 일정 응답 수 이상 받지 않으려면, 응답 수 제한 기능과 함께 쓰는 게 좋아요.
무료로 워드·엑셀 열 수 있는 클라우드 툴
워드·엑셀 무료 사용을 원하시는 분들 정말 많으시죠. 특히 학생, 프리랜서, 직장인이라면 간단히 문서 작성이나 표 계산만 필요한데 비싼 오피스를 구독하기 부담스럽거든요.다행히 2025년 현
apt.sunrisefs.co.kr
자동 종료 기본 코드
시간 기준 종료 예제
특정 시간 이후 자동 종료하려면 아래 코드를 사용하세요.
// 종료할 폼 ID 입력
const FORM_ID = 'YOUR_FORM_ID_HERE';
// 종료 시각 설정 (예: 2025년 9월 10일 오후 3시)
const END_TIME = new Date(2025, 8, 10, 15, 0, 0);
function checkAndCloseForm() {
const form = FormApp.openById(FORM_ID);
if (!form.isAcceptingResponses()) return;
const now = new Date();
if (now >= END_TIME) {
form.setAcceptingResponses(false);
form.setCustomClosedFormMessage('응답 기간이 종료되었습니다.');
}
}
여기에 createMinuteTrigger()
를 추가해 1분마다 실행되도록 설정하면 돼요.
스프레드시트로 종료시간 관리
Config 시트에 시간 입력
연결된 스프레드시트 Config!A2
셀에 2025-09-10 15:00
같은 형식으로 종료시간을 기록합니다.
코드 예제
const FORM_ID = 'YOUR_FORM_ID';
const SHEET_ID = 'YOUR_SHEET_ID';
function checkAndCloseFormFromSheet() {
const sheet = SpreadsheetApp.openById(SHEET_ID);
const endTime = sheet.getRange('Config!A2').getValue();
const now = new Date();
const form = FormApp.openById(FORM_ID);
if (now >= endTime && form.isAcceptingResponses()) {
form.setAcceptingResponses(false);
form.setCustomClosedFormMessage('응답이 마감되었습니다.');
}
}
이 방식은 운영자가 구글 시트에서 종료시간만 바꾸면 돼서 편리해요.
방식 | 장점 | 단점 |
---|---|---|
하드코드 | 빠르고 단순 | 코드 수정 필요 |
스프레드시트 | 운영자가 시간만 변경 가능 | 시트 관리 필요 |
응답 수 + 시간 조건 복합 종료
예제 코드
const MAX_RESPONSES = 200;
function checkCloseByTimeOrCount() {
const form = FormApp.openById(FORM_ID);
if (!form.isAcceptingResponses()) return;
const now = new Date();
if (now >= END_TIME || form.getResponses().length >= MAX_RESPONSES) {
form.setAcceptingResponses(false);
form.setCustomClosedFormMessage('응답이 마감되었습니다.');
}
}
이렇게 하면 시간과 응답 수 중 하나라도 조건을 만족하면 설문이 종료돼요.
CSS로 요소 숨기는 방법과 디버깅 팁
CSS 요소 숨기기는 웹 개발에서 가장 많이 쓰이는 기초 테크닉 중 하나예요.특정 버튼, 광고, 레이아웃 영역을 임시로 가리거나, 반응형 웹에서 모바일·PC 화면에 따라 다르게 표시할 때 꼭 필요
apt.sunrisefs.co.kr
자주 묻는 질문 FAQ
Q. 트리거는 어디서 설정하나요?
Apps Script 편집기 → 왼쪽 ‘트리거’ 메뉴에서 새로 추가하면 돼요.
Q. 종료 메시지를 바꾸고 싶어요.
setCustomClosedFormMessage()
안에 원하는 문구를 넣으면 됩니다.
Q. 하루 한 번만 체크하고 싶을 땐?
everyDays(1)
같은 주기로 설정하면 돼요.
Q. 여러 개 폼에 동시에 적용할 수 있나요?
폼 ID 배열을 만들어 forEach문으로 돌리면 여러 설문을 한 번에 관리할 수 있습니다.
Q. 테스트는 어떻게 하나요?
종료시간을 현재 시각보다 2~3분 뒤로 설정하고 트리거를 1분 주기로 돌려보면 됩니다.
'정보' 카테고리의 다른 글
응답 제한 기능으로 설문 오류 막는 설정 가이드 (0) | 2025.09.12 |
---|---|
구글 폼 응답 제한 설정 후, 후속 페이지 연결하기 (0) | 2025.09.12 |
자동 제출 차단하는 구글 설문지 설정법 (1) | 2025.09.11 |
구글 폼 일정 종료 후 응답 막는 방법 (0) | 2025.09.11 |
구글 설문지 응답 마감 후 안내문 설정 팁 (0) | 2025.09.11 |
댓글