function createNewForm(_title) {
console.log(_title);
var form = FormApp.create(_title);
// 새로 생성된 Form의 ID 가져오기
var formId = form.getId();
// 새로 생성된 Form의 URL 가져오기
var formUrl = form.getPublishedUrl();
// 편집 URL 가져오기
var editUrl = form.getEditUrl();
Logger.log('Form ID: ' + formId);
Logger.log('Published URL: ' + formUrl);
Logger.log('Edit URL: ' + editUrl);
// // 헤더 이미지 설정
// var imageUrl = ""; // 이미지 URL을 여기에 입력하세요
// form.setHeaderImage(UrlFetchApp.fetch(imageUrl));
// // 색상 테마 설정
// var color = "#4285F4"; // 원하는 색상 코드를 입력하세요
// form.setThemeColor(color);
return form;
}
function createSurveyFromSheet() {
// 현재 스프레드시트 가져오기
var spreadsheetUrl = ".../edit";
var ss = SpreadsheetApp.openByUrl(spreadsheetUrl);
Logger.log('SpreadSheet Origin : ' + spreadsheetUrl);
var nameSheet = '학생정보';
nameSheet = '아이디어(학부)';
const sheet = ss.getSheetByName(nameSheet);
// var nameForm = '상호평가';
var nameForm = nameSheet;
Logger.log('Form title: ' + nameForm); // 이 줄 추가
const googleForm = createNewForm(nameForm);
// 새 설문지 생성
// var form = FormApp.create('으하!');
var form = googleForm; //.create('으하!');
// 데이터 범위 지정
var data = sheet.getDataRange().getValues();
// 각 행을 순회하며 설문 문항 생성
for (var i = 1; i < data.length; i++) {
var questionType = data[i][0];
var questionTitle = data[i][1];
var questionDescription = data[i][2];
var isRequired = data[i][3].toString().toLowerCase() === 'true'; // 필수 여부
var options = data[i].slice(4).filter(String); // 옵션 시작 열 변경
var item;
switch(questionType) {
case '객관식':
item = form.addMultipleChoiceItem();
item.setTitle(questionTitle)
.setHelpText(questionDescription)
.setChoiceValues(options)
.setRequired(isRequired);
break;
case '체크박스':
item = form.addCheckboxItem();
item.setTitle(questionTitle)
.setHelpText(questionDescription)
.setChoiceValues(options)
.setRequired(isRequired);
break;
case '단답형':
item = form.addTextItem();
item.setTitle(questionTitle)
.setHelpText(questionDescription)
.setRequired(isRequired);
break;
case '장문형':
item = form.addParagraphTextItem();
item.setTitle(questionTitle)
.setHelpText(questionDescription)
.setRequired(isRequired);
break;
case '척도형':
item = form.addScaleItem();
item.setTitle(questionTitle)
.setHelpText(questionDescription)
.setBounds(1, 5)
.setRequired(isRequired);
break;
// 필요에 따라 다른 문항 유형 추가
}
}
}
설문지 작성 google apps script #코드스니핏
댓글