質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

1414閲覧

Googleフォームの内容を自動返信で送信する際に、回答が空欄だった箇所はメールから削除したい。

k-fkags

総合スコア15

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2018/11/22 10:34

前提・実現したいこと

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/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/11/22 12:56

【order】を使う手法とは何ですか?
papinianus

2018/11/22 13:14 編集

宛先や件名が設定されないリスクがあるのですが、必須項目にすれば解決しませんか?
k-fkags

2018/11/27 05:26

項目数が多く必須にはしたくないのです。教えていただきましたもので解決いたしました!ありがとうございます!
guest

回答1

0

ベストアンサー

orderとは何なんでしょうか?

これを追加の1行をこの位置に入れてください

javascript

1 // メール件名・本文作成と送信先メールアドレス取得 2 for (var j = 1; j <= cols; j++ ) { 3 var col_name = rg.getCell(1, j).getValue(); // カラム名 4 var col_value = rg.getCell(rows, j).getValue(); // 入力値 5 if(col_value == "") { continue;} //これを追加 6 body += "【"+col_name+"】\n"; 7 body += col_value + "\n\n"; 8 if ( col_name === NAME_COL_NAME ) { 9 body = col_value+" 様\n\n"+body; 10 } 11 if ( col_name === MAIL_COL_NAME ) { 12 to = col_value; 13 } 14 if ( col_name === SUBJ_COL_NAME ) { 15 subject = "【Twitter】"+col_value+"○○○○○○○○○○○○"; 16 } 17 }

投稿2018/11/23 04:06

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-fkags

2018/11/27 05:25

解決しました!ありがとうございます!とても助かりました!
papinianus

2018/11/27 05:32 編集

解決すること知ってた。 【order】を使う手法とは…
k-fkags

2018/11/27 06:49

素人で書き方がただしくなく申し訳ありません。 他で【order】を使っている物を見て真似してみたのですがうまく行きませんでした。 また、教えていただきました1行を追加すると空欄を削除できたのですが、自動返信のメールの件名が空欄になってしまいました。こちら解決方法ご存知でしたらご教授いただきたいです。 なんども大変お手数おかけしますがお力を貸していただければ幸いです。よろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問