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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

527閲覧

Googleフォームの自動返信で未回答を非表示にしたい

io-rin

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/05/09 09:01

編集2018/05/09 09:02

Googleフォームの自動返信のスクリプトを書いているのですが、分岐が多いため
答えていない質問は返信メールでの控えで非表示にしたいと考えています。
お力を頂ければ幸いです。よろしくお願いしたします。
以下がソースとなります。

function MailFrom() { Logger.log('MailFrom() debug start'); var NAME_COL_NAME = 'お名前'; var MAIL_COL_NAME = 'メールアドレス'; var PRODUCT_COL_NAME = '製品名'; var TIMESTAMP_LABEL = 'タイムスタンプ'; var subject = ""; var ibody = ""; var body = ""; var admin = "メールアドレス"; var from = ""; // from: var name = ""; // name: var cc = ""; // CC: var bcc = ""; // BCC: var reply = admin; // Reply-To: var to = ""; // To: (入力者のアドレスが自動で入ります) try{ var form = FormApp.openById('ID'); var formResponses = form.getResponses(); for (var i = 0; i < formResponses.length; i++) { var editURL = formResponses[i].getEditResponseUrl(); } Logger.log("Edit URL = " + "," + editURL); 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) { ibody += col_value + " 様\n\n"; } if ( col_name === PRODUCT_COL_NAME ) {   subject += "【自動送信】"+col_value+"です"; } } subject +=col_value; body += ibody; body += "ほにゃらららら\n\n" + "\n"; 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 === "") { var flag = 1; } else { var flag = 0; } if ( flag === 0 ) { body += "【" + col_name + "】\n"; body += " " + col_value + "\n\n"; } // 送信先を指定 if ( col_name === MAIL_COL_NAME ) { to = col_value; } } body += " ほげほげ: \n" + editURL + "\n\n"; // フッター var footer = ""; body += footer; // 送信先オプション var options = {}; if ( cc ) options.cc = cc; if ( bcc ) options.bcc = bcc; if ( reply ) options.replyTo = reply; if ( name ) options.name = name; if ( from ) options.from = from; // メール送信 if ( to ) { MailApp.sendEmail(to,subject,body,options); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); } } catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); } }

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

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

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

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

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

kazto

2018/05/10 00:08

期待した動作と、(おそらく意図していない)現状の動作がどうなっているか、について追記をお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問