0

Google フォームからアンケートに記入するユーザーにメールを送信する簡単なスクリプトを作成しようとしています。

彼らはアンケートに回答し、回答はスプレッドシートに記録されます。このスクリプトは、質問のコピー (見出し) と回答 (表の最後の行である必要があります) を電子メールで送信します。

送信先のメールは、メールに含まれていない最後の列になる予定でした。

これは、これを機能させるために取り組んでいたスクリプトです。

function sendFormByEmail(e) {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var s = ss.getActiveSheet();

 var emailSubject = "EMAIL-SUBJECT-HERE";  
 var yourEmail    = "CURRENTLY-JUST-A-STATIC-EMAIL-ADDRESS"; //get this from a field.value then just cut off that field from being included in the email (just do column-1)...


 var headers = headersRange.getValues()[0];  //google api to get the header values.

 var lastRow = s.getLastRow();

 var message += headers.toString();
 message += (headersRange.getValue()[last]).toString(); //should get the last row of data?

  MailApp.sendEmail(yourEmail, emailSubject, message); 
}
4

2 に答える 2

0

1 行にすべての質問があり、別の行にすべての回答がある電子メールの結果を読むのはおそらく難しいでしょう。

ヘッダーとフォームの値を一度にループするのは簡単で、必要に応じて電子メール アドレスをスキップするだけです。

function sendFormByEmail(e) {

  var emailSubject = "EMAIL-SUBJECT-HERE";  
  var emailQ = 1;  // Column number with email address

  var headers = SpreadsheetApp.getActiveSheet().getDataRange().getValues()[0];  //google api to get the header values.

  var message = "Your survey responses:\n\n";

  // Print Questions & Answers in pairs
  for (i=0; i < headers.length; i++) {
    if (i == emailQ) continue; // skip email address
    message += headers[i]+"\n"
             + e.values[i]+"\n\n";
  }

  MailApp.sendEmail(e.values[emailQ], emailSubject, message); 
}
于 2013-04-30T13:12:52.220 に答える