前提・実現したいこと
初めてGASを利用します。
Googleフォームの自動返信メールに未記入欄を表示させないようにしたいです。
Googleフォームで申し込みフォームを作成したのですが、
選択肢でセクションを分け複数人分の情報を入力できるようにしました。
テストで自動返信メールを送信してみると情報が未入力であっても、
入力欄がメールに表示されてしまい困っております。
どうか解決方法をご教示願えればと思います。
発生している問題・エラーメッセージ
未記入のセクションの入力欄がすべてメールに表示されてしまう。
試したこと
様々なサイトを調べましたが、自分が行いたい設定について見つけることが出来ませんでした。
補足情報(FW/ツールのバージョンなど)
現在このような状態になっております。
function myfunction() {
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
// 件名、本文、フッター
var subject = "【お申込み完了】お申し込み完了のお知らせ";
var body
= "この度は、○○○へお申込みいただきありがとうございます。\n\n"
+ "以下の内容にてお申込みいただきましたのでご連絡いたします。\n"
+ "---------------------------------------------------------------------------------\n";
var footer
= "---------------------------------------------------------------------------------\n\n"
+ "何かご不明な点がございましたら、\n"
+ "本メールへの返信にてご連絡をお願い致します。\n\n"
+ "====================================================\n"
- "○○○\n"
- "〒○○○-○○○○\n"
- "○○○○\n"
- "MAP:○○○n"
- "TEL:○○○-○○○-○○○○\n"
- "====================================================\n"
-
"====================================================\n"
-
"このメールに心当たりがない場合、\n"
-
"どなたかが誤って貴方様のメールアドレスを登録された可能性がございます。\n\n"
-
"大変お手数ですが、このメールの中身を消さず、\n"
-
"「このメールに心当たりがない」旨を最上部に記してご返信ください。\n"
-
"登録内容を削除させていただきます。\n"
-
"====================================================\n";
-
// 入力カラム名の指定
var NAME_COL_NAME = 'お名前';
var MAIL_COL_NAME = 'メールアドレス';
var TIMESTAMP_LABEL = 'タイムスタンプ';
// メール送信先
var admin = "○○○○@○○○○"; // 管理者(必須)
var cc = ""; // Cc:
var bcc = admin + ","; // Bcc:
var reply = admin; // Reply-To:
var to = ""; // To: (入力者のアドレスが自動で入ります)
//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------
try{
// スプレッドシートの操作
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
Logger.log("rows="+rows+" cols="+cols);
// メール件名・本文作成と送信先メールアドレス取得 for (var j = 1; j <= cols; j++ ) { var col_name = rg.getCell(1, j).getValue(); // カラム名 var col_value = rg.getCell(rows, j).getValue(); // 入力値 if ( col_name === NAME_COL_NAME ) { //メール本文の最初に名前を入れる body = col_value+" 様\n\n"+body; } if ( col_name === MAIL_COL_NAME ) { //メールアドレス to = col_value; } if ( col_name === TIMESTAMP_LABEL ) { //タイムスタンプ⇒申込日時 col_name = 'お申込日時'; } body += "【"+col_name+"】\n"; body += col_value + "\n\n"; } body += footer; // 送信先オプション var options = {}; if ( cc ) options.cc = cc; if ( bcc ) options.bcc = bcc; if ( reply ) options.replyTo = reply; // メール送信 if ( to ) { MailApp.sendEmail(to, subject, body, options); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); }
}catch(e){
MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/11 07:46