function whatIsStyleOf(result) {
var resultStyle = '';
var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getSheetByName('문항');
var stylesOfItems = sheet.getRange(1,1, sheet.getLastRow() -1, 2).getValues();
for (var i = 0; i < stylesOfItems.length ; i++)
{
// Logger.log(stylesOfItems[i][0]);
if (result === stylesOfItems[i][0]) {
resultStyle = stylesOfItems[i][1]
}
}
return resultStyle;
}
function createIncoachingStyleProfileForms() {
var form = FormApp.getActiveForm();
form.setTitle('Incoaching Style Profile');
var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getSheetByName('문항');
var stylesOfItems = sheet.getRange(1,1, sheet.getLastRow() , 2).getValues();
for (var i = 0; i < stylesOfItems.length ; i=i+2)
{
var item = form.addMultipleChoiceItem();
item.setTitle('나는');
item.setRequired(true);
item.setChoiceValues([stylesOfItems[i][0],stylesOfItems[i+1][0]]);
}
}
function calculateStyleProfile(lastColumn,a,b,e,f) {
var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getActiveSheet();
var lastRow = sheet.getLastRow();
// A
sheet.getRange(lastRow,lastColumn).setValue(a);
// B
sheet.getRange(lastRow,lastColumn+1).setValue(b);
// E
sheet.getRange(lastRow,lastColumn+2).setValue(e);
// F
sheet.getRange(lastRow,lastColumn+3).setValue(f);
// 주도형 D
var d = a*(e/2);
// 사교형 I
var i = a*(f/2);
// 안정형 S
var s = b*(f/2);
// 신중형 C
var c = b*(e/2);
var arr = [d,i,s,c];
var i = arr.indexOf(Math.max.apply(Math, arr));
Logger.log(arr);
var style = '';
if (i==0) {
style = 'D'
} else if (i ==1) {
style = 'I';
} else if (i ==2) {
style = 'S';
} else if (i ==3) {
style = 'C';
}
sheet.getRange(lastRow,lastColumn+4).setValue(style);
return style;
} function onOpen() {
FormApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show sidebar', 'showSidebar')
.addToUi();
}
function showSidebar() {
Display a sidebar with custom UiApp content. var uiInstance = UiApp.createApplication() .setTitle('Live Result'); var responses = FormApp.getActiveForm().getResponses(); uiInstance.add(uiInstance.createLabel(responses.length)); FormApp.getUi().showSidebar(uiInstance); } function onOpen() { var fa = FormApp.getActive(); ScriptApp.newTrigger('onFormSubmit') .forSpreadsheet(fa) .onFormSubmit() .create(); } function onFormSubmit(event) { var logDocument = DocumentApp.openById('17mpPXOsuMD70vpwJwN02Y8hziHB3tHb_l1rN8tAXwaQ'); var a = 0; var b = 0; var e = 0; var f = 0; try { var response = event.response; logDocument.getBody().appendParagraph(Utilities.formatString(“%s”, event.response.getItemResponses().toString()));
var itemResponses = event.response.getItemResponses();
for (var j = 1; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
//logDocument.getBody().appendParagraph(Utilities.formatString('question "%s" was "%s"', itemResponse.getItem().getTitle(),
// itemResponse.getResponse()));
if ('A' === whatIsStyleOf(itemResponse.getResponse())){
a = a+1;
}
if ('B' === whatIsStyleOf(itemResponse.getResponse())){
b = b+1;
}
if ('E' === whatIsStyleOf(itemResponse.getResponse())){
e = e+1;
}
if ('F' === whatIsStyleOf(itemResponse.getResponse())){
f = f+1;
}
}
var style = calculateStyleProfile(itemResponses.length+3,a,b,e,f);
var message = Utilities.formatString('A:%s B:%s E:%s F:%s Style:%s', a.toString(), b.toString(), e.toString(), f.toString(), style);
var styleReportImageUrl = Utilities.formatString('http://www.dh8.kr/tmp/ISP_Style_%s.png', style);
var styleReportImageBlob = UrlFetchApp
.fetch(styleReportImageUrl)
.getBlob()
.setName("styleReportImageBlob");
//showSidebar();
logDocument.getBody().appendParagraph(message);
email = itemResponses[0].getResponse();
//MailApp.sendEmail(email, "ISP", message);
MailApp.sendEmail({
to: email,
subject: "ISP 설문 결과",
htmlBody: "<img src='cid:styleReportImageBlob'><br>" + message,
inlineImages:
{
styleReportImageBlob: styleReportImageBlob,
}
});
} catch(e) {
errorMessage = (e.name + ' on line: ' + e.lineNumber + ' -> ' + e.message);
logDocument.getBody().appendParagraph(errorMessage);
}
}