3

次のフィールドを使用して簡単なGoogleフォームを作成しました。

名前、電子メール、給与、リクエスト。

ユーザーがフォームに記入したら、その情報を記載したメールを送信したいと思います。ただし、「リクエスト」フィールドを使用して、ユーザーがさらに対応する必要がある場合に参照できる一意の番号をプラグインしたいと思います。ユーザーが[リクエスト]フィールドに何かを入力した場合、それを破棄して、生成した番号(応答とスプレッドシートの両方)を使用します。

私が見つけた他の情報を使用して、スクリプトをつなぎ合わせることができました。ユーザーに返送される電子メール応答を除いて、すべてで機能するようです。-「要求」フィールドに使用する番号は含まれていませんが、代わりにユーザーが入力した入力を送り返します。リクエストフィールド。スプレッドシートは問題ないように見えます([リクエスト]フィールドに私の番号があります)。

これが私のスクリプトです:

function sendFormByEmail(e) {      
  var capsht = SpreadsheetApp.getActiveSheet();  
  var caprow =  SpreadsheetApp.getActiveSheet().getLastRow();  
  capsht.getRange(caprow,5).setValue("Cap-"+caprow);  

  var admin = "admin@xxx.com";  

  try {  

    var recipient = e.namedValues["Email"];  
    var subject = "Capacity Request Form Received";    

    var s = SpreadsheetApp.getActiveSheet();  
    var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];      
    var message = "";      

    for (var i in headers)  
      message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";   
      MailApp.sendEmail(recipient, subject, message);   

    }   

  catch (error) {  
    MailApp.sendEmail(admin, "Error with form submission response email", error.message);  
  }  

}
4

1 に答える 1

1

このようにしてみてください:

(コードにコメントを追加し、繰り返しを削除)

function sendFormByEmail(e)   
{      
var capsht = SpreadsheetApp.getActiveSheet();  
var caprow = capsht.getLastRow();  
var codenumber = "Cap-"+caprow
capsht.getRange(caprow,5).setValue(codenumber);  

var admin = "admin@xxx.com";  

try {  

var recipient = e.namedValues["Email"];  
var subject = "Capacity Request Form Received";    

var headers = capsht.getRange(1,1,1,capsht.getLastColumn()).getValues()[0];      
var message = "";      

for(var i in headers)  
if(i!=4){ 
message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";   
}else{  // if i==4 (column nr5)then use your code number
message += headers[i] + ' = '+ codenumber + "\n\n"; 
}
MailApp.sendEmail(recipient, subject, message);   

}   

catch (error)  
{  
MailApp.sendEmail(admin, "Error with form submission response email", error.message);  
}  

}
于 2012-10-22T22:28:42.357 に答える