GASを使った自動返信メールの作成について
Google フォーム を使って、下記Aのお客様からのお問い合わせフォームに対する自動返信メールを作成したいのですが、Bのような結果になってしまいます。Bに記載された4行を非表示にするにはどのようにすれば良いのでしょうか。また、Google フォーム を使った自動返信のお問い合わせメールを作成するためのGoogle Apps Script について理解するための良書などありましたら、ご紹介頂ければ幸いです。よろしくお願い致します。
A(得たい結果)
_______________________________________________________________________________
山田 太郎 様
お問い合わせありがとうございます。
------------------------------------------------------------
【お問い合わせ内容】
テスト・テスト・テスト
------------------------------------------------------------
後ほど担当者よりご連絡させていただきます。
B(思わしくない結果)
_______________________________________________________________________________
山田 太郎 様
お問い合わせありがとうございます。
------------------------------------------------------------
【お名前】 (←非表示にしたい)
山田 太郎 (←非表示にしたい)
【メールアドレス】 (←非表示にしたい)
***@***.ocn.ne.jp (←非表示にしたい)
【お問い合わせ内容】
テスト・テスト・テスト
------------------------------------------------------------
後ほど担当者よりご連絡させていただきます。
[Apps Script に記述したコード(参考サイト:https://liapoc.com/new-google-form.html)]
function sendMailGoogleForm() {
Logger.log('sendMailGoogleForm() debug start');
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
// 件名、本文、フッター
var subject = "[お問い合わせありがとうございます。]";
var body
= "お問い合わせありがとうございます。\n\n"
+"------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+"後ほど担当者よりご連絡させていただきます。";
// 入力カラム名の指定
var NAME_COL_NAME = 'お名前';
var MAIL_COL_NAME = 'メールアドレス';
// メール送信先
var admin = "***@gmail.com"; // 管理者(必須)
var sendername = "web担当者備忘録";//送信者名(必須)
var cc = ""; // Cc:
var bcc = admin; // Bcc:
var reply = admin; // Reply-To:
var to = ""; // To: (入力者のアドレスが自動で入ります)
//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------
try{
// スプレッドシートの操作
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getLastRow();
var cols = sheet.getLastColumn();
var rg = sheet.getDataRange();
Logger.log("rows="+rows+" cols="+cols);
// メール件名・本文作成と送信先メールアドレス取得
for (var i = 1; i <= cols; i++ ) {
var col_name = rg.getCell(1, i).getValue(); // カラム名
var col_value = rg.getCell(rows, i).getValue(); // 入力値
if (col_name === "タイムスタンプ"){
continue;
}
body += "【"+col_name+"】\n";
body += col_value + "\n\n";
if ( col_name === NAME_COL_NAME ) {
body = col_value+" 様\n\n"+body;
}
if ( col_name === MAIL_COL_NAME ) {
to = col_value;
}
}
body += footer;
// 送信先オプション
var options = {name: sendername};
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);
}
}
[スプレッドシート]
A B C D
タイムスタンプ お名前 メールアドレス お問い合わせ内容
2022/09/11 18:47:12 山田 太郎 ***@***.ocn.ne.jp テスト・テスト・テスト
お礼
htscさま ありがとうございます! おもったように改行しました。 vbCrLf & vbCrLfで改行すると思っていました。 いまから "%0D%0A" に関して調べて見ます。 本当にありがとうございました!!