2015-06-05 12 views
1

在我的電子表格中,我從用戶那裏獲得了答案,並添加了一列來對它們進行評分。現在,我想給他們發送他們輸入的全部數據和他們各自的成績。要做到這一點,我必須知道變量「key2」的行號,它將隨着用戶的每個響應而改變。我在這裏提供我的代碼。有人請幫助我。電子表格中的變量的行號(Apps腳本)

/* Send Confirmation Email with Google Forms */ 

function Initialize() { 

    var triggers = ScriptApp.getProjectTriggers(); 

    for (var i in triggers) { 
     ScriptApp.deleteTrigger(triggers[i]); 
    } 

    ScriptApp.newTrigger("SendConfirmationMail") 
    .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()) 
    .onFormSubmit() 
    .create(); 

} 

function SendConfirmationMail(e) { 
    var s1 = SpreadsheetApp.getActiveSpreadsheet(); 
    var s2 = SpreadsheetApp.setActiveSheet(s1.getSheetByName("Sheet2")); 

    try { 
     var cc, sendername, subject, column2; 
     var message, value, textbody, sender; 

     // This is your email address and you will be in the CC 
     cc = Session.getActiveUser().getEmail(); 

     // This will show up as the sender's name 
     sendername = "Quiz2win"; 

     // Optional but change the following variable 
     // to have a custom subject for Google Docs emails 
     subject = "Google Form Successfully Submitted"; 

     // This is the body of the auto-reply 
     message += "We have received your details.<br />Thanks!<br /><br />"; 

     column2 = s2.getRange(1,1,1,10).getValues()[0]; 
     // This is the submitter's email address 
     sender = e.namedValues["Email Address"].toString(); 

     // Only include form values that are not blank 

     for (var keys in column2) { 

      var key2 = column2[keys]; 
      if (e.namedValues[key2]) { 
       message += key2 + ' :: '+ e.namedValues[key2] + "<br />"; 
      } else { 
       var key1 = s2.getValues(); 
       message += key2 + ' :: ' + key1 + "<br/>"; 
      } 
     } 

     textbody = message.replace("<br>", "\n"); 

     GmailApp.sendEmail(sender, subject, textbody, 
         {cc: cc, name: sendername, htmlBody: message}); 

    } catch (e) { 
    Logger.log(e.toString()); 
} 

回答

0

你在這裏提到的範圍s2.getRange(1,1,1,10)基本上只從工作表獲得第一行數據。

取而代之,將所有行和列的值放入一個範圍變量中,並循環遍歷每行的範圍並在循環中發送一封電子郵件。

檢查此documentation瞭解更多詳情。

+0

我不明白你的意思。如果你不介意,可否請你轉發我解釋過的代碼部分? –

相關問題