User Tools

Site Tools


work:coachtown

할일

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);
  }

}

work/coachtown.txt · Last modified: 2018/07/18 14:10 by 127.0.0.1