前提・実現したいこと
Googleフォームの内容をGASで自動返信する。際にfooterの内容が改行されてしまいます。
発生している問題・エラーメッセージ
自動返信の際にfooterの項目の【】が前半しか表示されません。
具体的には 【依頼内容 のような表示になってしまいます。
エラーメッセージ
該当のソースコード
function sendMailFromForm()
{
Logger.log('sendMailFromForm() debug start');
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
// 件名、本文、フッター
var subject = "";
var body
="○○○○○○○○○○○○○○○○○○\n"
+"○○○○○○○○○○○○○○○○○○\n\n"
+"○○○○○○○○○○○○○○○○○○\n"
+ "------------------------------------------------------------\n\n";
var footer
= "------------------------------------------------------------\n\n"
+ "○○○○○○○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○○○○○○○\n\n"
+ "○○○○○○○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○○○○○○○\n";
// 入力カラム名の指定
var NAME_COL_NAME = '○○○○○○○○○○○○○○○○○○';
var MAIL_COL_NAME = '○○○○○○○○○○○○○○○○○○';
var SUBJ_COL_NAME = '○○○○○○○○○○○○○○○○○○';
// メール送信先
var admin = "○○○○○○○○○○○○○○○○○○"; // 管理者(必須)
var cc = "○○○○○○○○○○○○○○○○○○"; // Cc:
var bcc = ""; // Bcc:
var reply = "○○○○○○○○○○○○○○○○○○"; // 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(); // 入力値 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; } if ( col_name === SUBJ_COL_NAME ) { subject = "【○○○○○○○○○○○○○○○○○○】"+col_value+"○○○○○○○○○○○○○○○○○○"; } } 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);
}
}
試したこと
該当しそうな部分の修正を行いましたが、治らず、ご教授いただきたいです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/20 09:42
2018/11/20 09:50