ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
Googleフォームでいきなり返信メールを送れるようになる方法
Googleフォームに登録があった際に、自動的に、登録者に返信メールが送られるようになります。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- Googleフォームにおける自動返信メールの設定ができます。
- 返信メールのフォーマットをスプレッドシートで変更できます。
なので、サクッとマスターして
と答えてあげてください。
いただいたご質問
グリッドからデータを取得する方法
if(itemResponse.getItem().getType() == 'GRID'){//グリッドの場合
var rows = itemResponse.getItem().asGridItem().getRows();
for( var j= 0; j < rows.length; j++ ){
var rowname = rows[j];
var answercol = answer[j];
message += rowname + ':' + answercol + '\n';
}
}
動画はこちら
動画ではダラダラやっています。
動画で使用したスクリプト
//★スプレッドシートのIDz*URLのユニークな長い部分
var FORMAT__SHEET_ID = "XXXXXXXXXXXXXXX";
//以下名称が一致しているか確認
var FORMAT_SHEET_NAME = "返信メールフォーマット";
var ITEM_MAILADDRESS = "メールアドレス";
var ITEM_NAME_TITLE = "お名前";
//フォーム登録者にメールを送信する
function submitForm(e) {
var itemResponses = e.response.getItemResponses();
var message = '';
var username = '';
var mail = '';
for(var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
if(question == ITEM_MAILADDRESS) {
mail = answer;
}
if(question == ITEM_NAME_TITLE) {
username = answer;
}
if(itemResponse.getItem().getType() == 'GRID'){//グリッドの場合
message += (i + 1).toString() + '. ' + question + ': ';
var rows = itemResponse.getItem().asGridItem().getRows();
for( var j= 0; j < rows.length; j++ ){
var rowname = rows[j];
var answercol = answer[j];
// message += rowname + ':' + answercol + '\n';
message += rowname + ':' + answercol;
if( j != (rows.length-1))//項目の最後でなければ
{
message += ',';//デリミタを付加する
}
}
}
else
{
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
}
//返信メール用のシートを取得する
var ss = SpreadsheetApp.openById(FORMAT__SHEET_ID);
var sheet = ss.getSheetByName(FORMAT_SHEET_NAME);
var subject = sheet.getRange("B1").getValue();//件名の取得
var contents = sheet.getRange("B2").getValue(); //本文の取得
subject = subject.replace("%name%", username);//%name%を置換する
contents = contents.replace("%name%", username);//%name%を置換する
GmailApp.sendEmail(mail, subject, contents);//登録者にメールを送信する
var address = sheet.getRange("B4").getValue();//送信先の取得
if(address!="")
{
subject = sheet.getRange("B5").getValue();//件名の取得
contents = sheet.getRange("B6").getValue(); //本文の取得
contents += '\n\n' + message;
GmailApp.sendEmail(address, subject, contents);
}
}
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】Googleフォームで自動返信メールが簡単に実装できる方法