前提・実現したいこと
Googleフォームの内容を自動返信で送信する際に、回答が空欄だった箇所はメールから削除したい。
発生している問題・エラーメッセージ
【order】を使う手法を見たのですが、現状のコードに対してそれ以外の手段が見つからず、ご存知の方がいらったらご教授いただきたいです。
### 該当のソースコード 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: (入力者のアドレスが自動で入ります) var fromadd ="○○○○○○○○○○○○"; //------------------------------------------------------------ // 設定エリアここまで //------------------------------------------------------------ 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 = "【Twitter】"+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
プレビュー