게시자: Frank Jung, 2011. 2. 27. 오후 10:33
[
2011. 2. 27. 오후 11:06에 업데이트됨
]
Google Docs Script 활용 예제 적용 배경 영어 Writing 교육 커뮤니티를 운영하고 있는 친구가 커뮤니티 멤버를 상대로 구글 Forms를 이용해 질문을 한 후 학생(멤버)이 답을 제출 했을 때 구글 스프레드시트에서 미리 작성된 정답과 제출한 답을 비교하여 feedback을 바로 메일로 결과를 발송 하고자 함적용 방법- 질문할 Form을 작성
- 스프레드시트에서 스크립트 작성
- Test 결과
1. 질문할 Form을 작성- 아래의 그림과 같이 구글 Forms를 이용해 질문의 양식을 작성 2. 스프레드시트에서 스크립트 작성- 구글 스프레드시트에서 Tools(도구)의 Scripts(스크립트)를 선택해서 Script editor(스크립트 편집기)를 선택 - 아래와 같이 스크립트 소스를 편집기의 내용에 복사- 소스 원문 제출된 값과 이미 저장해 놓은 정답을 비교하여 정답 및 오답을 count해서 제출자의 email로 Report 발송 function onFormSubmit(e) { var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1]; var values = e.values; var questionsCount = values.length-3; var firstName = e.values[1]; var eMail = e.values[2]; var questionsAndAnswers = ''; var incorrectAnswersCount = 0; for (var i=0; i < questionsCount; i++) { var value = values[i+3]; var question = sheet1.getRange(1, i+4, 1, 1).getValue(); var correctValue = sheet2.getRange(i+1, 1, 1, 1).getValue(); if (correctValue != '' && correctValue != value) incorrectAnswersCount++; questionsAndAnswers += 'Question ' + (i+1) + '. ' + question + '<br/>'; questionsAndAnswers += 'You answered <b>' + value + '</b>. The correct answer is <b>' + correctValue + '</b>.<br /><br />'; } var mailBody = "<html><body><p>" + "Hi, " + firstName + ". <br />" + "You just took a quiz from Learn English Wave. Here's are your results:<br />" + "There were " + questionsCount + " questions. You answered " + incorrectAnswersCount + " question(s) incorrectly<br /><br />" + questionsAndAnswers + "<br />" + "Thanks for taking the quiz. If you have any questions, you can write to me at jonedw@gmail.com.<br />" + "Regards,<br />" + "Jon"; + '</p></body></html>'; MailApp.sendEmail(eMail, '[Learn English Wave] Your Quiz Results', "", {htmlBody: mailBody}); } | - 트리거(Trigger) 설정 트리거 내용은 질문 Form에 대해 답변을 작성하고 제출(submit) 했을때 event 발생하도록 설정 - 스크립트 에디터에서 설정된 내용을 저장- sheet2 미리 작성된 정답 넣기아래의 그림과 같이 sheet2에 미리 준비된 정답을 작성 3. Test 결과질문에 대한 정답을 제출 시 곧바로 해당 feedback report를 메일로 수신함- 메일의 수신함- 메일의 본문결론 : 위와 같이 구글에서 제공하는 Google Apps script를 이용해 forms와 연동해서 다양하게 활용할 수 있음.좋은 아이디어나 활용 사례가 있으시면 자유롭게 공유 부탁 드립니다.도와주신 분:Learn English wave (jonedw@gmail.com) : https://groups.google.com/forum/#!forum/learn-english-waveScript Created By Anton Okolelov문서 작성 : |
|