使用Google App脚本读取google形式的所选单选按钮值时遇到的问题

问题描述 投票:0回答:1

我是Google App脚本的新手。我有选择选项的形式。例如,我有两个选择,例如付款和余额。如果我选择付款并单击提交按钮,则将发生某些操作。如果我选择平衡,则会发生其他操作。为此,我正在尝试阅读所选的选项。但是我不能。以下是我尝试阅读的代码。有人可以帮忙。

我尝试过这个。它正在给出所有表单响应。同样,这是在运行脚本时给出值。但是尝试通过表单无法正常工作。

function myFunctiontest() {
   var form = FormApp.getActiveForm();
   var formResponses = form.getResponses();
  var itemr,title,res;
  for (var i = 0; i < formResponses.length; i++) {
  var formResponse = formResponses[i];    
  var itemResponses = formResponse.getItemResponses();
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j]   
    var item =  itemResponse.getItem();//.asMultipleChoiceItem();
                itemResponse.getItem().getType(),    
                itemResponse.getItem().getTitle(),
                itemResponse.getResponse();
                res = itemResponse.getResponse().;
    if (item.getType() == 'MULTIPLE_CHOICE' && res == 'A')  
    {
       itemr= itemResponse.getItem().asMultipleChoiceItem(),    
       title =itemResponse.getItem().getTitle(),
       res =  itemResponse.getResponse();
       Logger.log('Response Type : ',itemr );
       Logger.log('Response Type title  :',title );    
       Logger.log('Response Type  res:',res ); 
    }

     }            
  }

}

google-apps-script google-sheets google-form
1个回答
0
投票
您必须通过应用脚本编辑器创建触发器“ onFormSubmit”(单击时钟图标)。

function onFormSumbit(e) { var emp = e.source.getActiveSheet().getRange(e.range.rowStart,2).getValue(); var lvss = SpreadsheetApp.openById("1ywKQViIU2k"); // leave applied SpreadsheetApp.setActiveSpreadsheet(lvss); var lvsht = lvss.getSheetByName("Form responses 1"); var lvlr = lvsht.getLastRow(); var vA =lvsht.getRange("A:L").getValues(); var html="<style>th,td{border:1px solid black;}</style><table>"; html+='<tr>'; for(var i=0;i< 12 ;i++) {//make title html+=Utilities.formatString('<th>%s</th>',vA[0][i]); } html+='</tr>'; for (i=1;i<lvlr;i++){ if (vA[i][1]==emp){ html+='<tr>'; for (j=0;j<12;j++) { if (j==0 || j==2 ){ vA[i][j]=Utilities.formatDate(vA[i][j],"GMT+05:30", "dd-MM-yy"); }//if date if ( j==4 && vA[i][j] !=="" ){ vA[i][j]=Utilities.formatDate(vA[i][j],"GMT+05:30", "dd-MM-yy"); }//if date html+=Utilities.formatString('<td>%s</td>',vA[i][j]); }//for emp html+='</tr>'; }//if }//for html+='</table><br>'; var empss = SpreadsheetApp.openById("1_87o"); // emp master SpreadsheetApp.setActiveSpreadsheet(empss); var empsht = empss.getSheetByName("Emp"); var emplr = empsht.getLastRow(); var empvals =empsht.getRange("A:H").getValues(); for (i=1;i<emplr;i++){ if (empvals[i][0]==emp){ var em1=empvals[i][7]; var name=empvals[i][1] break; }//if }//for var subject="Your Online Leave History of "+name; if (em1=="") {} else { //MailApp.sendEmail(em1, subject, html);} MailApp.sendEmail({ to: em1, subject: subject, htmlBody: html }); } } // //

© www.soinside.com 2019 - 2024. All rights reserved.