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

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

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

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

Q&A

解決済

2回答

4357閲覧

google フォームでの自動返信エラーについて

mrs.robot

総合スコア13

Google Apps Script

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

0グッド

0クリップ

投稿2018/09/10 05:26

編集2018/09/10 06:35

当方、googleフォーム初心者です。おわかりの方がいらっしゃいましたら教えていただきたく宜しくお願い致します。

 ある会の参加申し込みをgogleフォームで作り、自動返信ができるようにしました。

入力していただく項目に「参加費振込み日」という項目があり、そこに入力していただいた方にはちゃんと自動返信メールが届くのですが、「参加費振込み日」を入力していない方にはエラーが出てしまい自動返信メールが届かなくて困っております。

エラーの原因は自動返信メールの日付表示を「Mon Sep 10 2018 12:34:56 GMT+0900 (JST)」ではなく「2018年09月10日」と表示するようにしている箇所がありそこの書き方がおかしいのだと思われます。

以下自動返信メールのスクリプトです
************************************

function

1 2 3 var title = "お申込みを受け付けました"; 4 5 6 var body 7 ="お申込みをいただきましてありがとうございます。\n" 8 +"下記のとおり受け付けました。\n" 9 10 +"参加キャンセルにつきましては○月○日迄にご連絡いただければ \n" 11 +"返金させていただきます \n" 12 13 +"当日は気を気をつけてお越し下さい。\n\n" 14 + "------------------------------------------------------------\n"; 15 16 17 var body2 18 = "------------------------------------------------------------\n\n" 19 + "このメールは、配信専用のアドレスで配信されています。\n" 20 +"このメールにご返信されても内容の確認および返答ができません。\n" 21 +"あらかじめご了承ください。\n" 22 23 +"このメールの内容についてのお問い合わせは \n" 24 +"○○○○ \n" 25 +"メール×××@××.cojpまたは\n" 26 +"電話000-0000-0000 fax.000-0000-0001までお願い致します。\n"; 27 28 29 30 31 32 var name = 'お名前(漢字)'; 33 var mail = 'メールアドレス'; 34 var address = ""; 35 36 var sheet = SpreadsheetApp.getActiveSheet(); 37 var row = sheet.getLastRow(); 38 var column = sheet.getLastColumn(); 39 var range = sheet.getDataRange(); 40 var TIMESTAMP_LABEL = 'タイムスタンプ'; 41 42 for (var i = 1; i <= column; i++ ) { 43 44 45 var item = range.getCell(1, i).getValue(); 46 47 48 var value = range.getCell(row, i).getValue(); 49 50 51 if ( item === TIMESTAMP_LABEL ) { 52 item = 'お申込み日時'; 53 } 54 55 56 if ( item === 'お申込み日時' ) { 57 value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'"); 58 } 59 60 if ( item === '参加費振込日' ) { 61 value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'"); 62 } 63 64 body += "■"+item+"\n"; 65 66 67 body += value + "\n\n"; 68 69 70 if ( item === name ) { 71 body = value+" 様\n\n"+body; 72 } 73 74 75 if ( item === mail ) { 76 address = value; 77 } 78 } 79 80 81 body += body2; 82 83 GmailApp.sendEmail(address,title,body,{ 84 85 from:'××××@gmail.com',name:'申込み受付' 86 87 }); 88} 89 90 91コード

**********************************
エラーメッセージは次のように出ます。

メソッド formatDate(string,string,string) が見つかりません。(行 64、ファイル「コード」)

 
64行目は下記の通りです
value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'"); コード
「参加費振込み日」が未入力でも自動返信メールお届けできるようにするためにはどこを修正すればよいのかを教えて下さい。
宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

javascript

1if ( item === '参加費振込日' ) {

javascript

1if ( item === '参加費振込日' && value != '') {

投稿2018/09/10 14:03

papinianus

総合スコア12705

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

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

mrs.robot

2018/09/11 00:32

ご返信ありがとうございます。 お教えいただいたとおりに書き換えたら自動返信ができました。 2週間くらいずっとできなくて悩んでいたので解決していただいて本当に嬉しいです! ありがとうございました。
guest

0

<code>内にコードは書きましょう。
エラーは第一引数stringタイプに対してvalueだからじゃないでしょうか?

(num,string,string)

にしてみてはどうでしょう

投稿2018/09/10 06:05

mote

総合スコア128

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

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

mrs.robot

2018/09/10 06:43

ご返信ありがとうございます。 コードが見にくくて申し訳ございませんでした。  value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'");とかいてあるところを value = Utilities.formatDate(num, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'");とすれば良いということでしょうか? 全くの初心者の為、意味が良くわからずトンチンカンな質問で申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問