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

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

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

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

JavaScript

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

36157閲覧

GAS:Googleフォームの自動返信で受付番号を設定したい

NEXT.net

総合スコア17

Google Apps Script

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

JavaScript

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

3クリップ

投稿2019/02/21 15:21

編集2019/02/21 16:24

前提・実現したいこと

Googleフォームにてお客様に情報を入力して頂き、自動返信メールが送られるようにGoogleスプレットシートのスクリプトを設定しています。
返信されるメールの内容は、
「 body + フォーム送信内容 + body2 」
という形で自動返信メールが送信されるようにスクリプトを設定していますが、これに「受付番号」を自動で採番(行番号を引用するなど)して追加し、
「 body + 受付番号 + フォーム送信内容 + body2 」
というようにしたいと考えております。

いろいろと検索してためしたのですが、うまく実装できませんでした。
現在使用しているコードを記載しますので、どこに、どのように追記すれば実現できるかご教授頂ければ幸いです。

該当のソースコード

javascript

1function for_users() { 2 3//自動返信メールの件名 4 var title = "メールのタイトル"; 5 6 //自動返信メールの本文 \nは改行。 7 var body 8 = "本文1\n" 9 + "本文1\n" 10 + "本文1\n" 11 + "----------------------------------------\n\n" 12 13var body2 14 = "----------------------------------------\n\n" 15  + "本文2\n" 16  + "本文2\n" 17 + "本文2\n" 18 + "ーー*ーーー*ーーー*ーーー*ーー\n" 19 + " 署名\n" 20 + "ーー*ーーー*ーーー*ーーー*ーー\n\n"; 21 22 23 //変数を設定 24 var CHECK_BOX = '希望参加地域';//フォームの項目名と同じにする 25 var name = '氏名(漢字)'; //フォームの項目名と同じにする 26 var mail = 'メールアドレス'; //フォームの項目名と同じにする 27 var address = ""; 28 29 var sheet = SpreadsheetApp.getActiveSheet(); 30 var row = sheet.getLastRow(); 31 var column = sheet.getLastColumn(); 32 var range = sheet.getDataRange(); 33 var TIMESTAMP_LABEL = 'タイムスタンプ'; 34 35 for (var i = 1; i <= column; i++ ) { 36 37 //スプレッドシートの入力項目名 38 var item = range.getCell(1, i).getValue(); 39 40 //スプレッドシートの入力値 41 var value = range.getCell(row, i).getValue(); 42 43 //タイムスタンプ→申し込み日時 44 if ( item === TIMESTAMP_LABEL ) { 45 item = '申し込み日時'; 46 } 47 48// 日付フォーマットの変換 49 if ( item === '申し込み日時' ) { 50 value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'"); 51 } 52 53//本文(body)にフォームの入力項目を追加 54 body += "■"+item+"\n"; 55 56 //本文にフォームの入力内容を追加 57 body += value + "\n\n"; 58 59 //フォームの入力項目が「お名前」の場合は、「様」をつけて、本文の前に追加 60 if ( item === name ) { 61 body = value+" 様\n\n"+body; 62 } 63 64 //フォームの入力項目が「ご連絡先メールアドレス」の場合は、変数addressに入れる 65 if ( item === mail ) { 66 address = value; 67 } 68 } 69 70 //本文1に本文2を追加 71 body += body2; 72 73 //宛名=address、件名=title、本文=bodyで、メールを送る 74 GmailApp.sendEmail(address,title,body); 75} 76

試したこと

Googleで検索していろいろコードを書き足してみましたが
「何行目にエラー」と表示されうまくできませんでした。

###追記
@yu-smc様
行番号を取得して表示させたいと考えています。
複数人が同時にフォーム送信した場合でもスプレットシートには順番に反映されますので、行番号を受付番号とする場合であれば問題ないかと思います。

@mts10806様
失礼致しました。
初めてこちらのサービスを使用した為よくわかっておりませんでした。
ご享受頂き感謝致します。
>タイトルの変更を忘れておりました。修正致しました。

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

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

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

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

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

yu-smc

2019/02/21 15:51 編集

受付番号の取得方法ですが、スプレッドシートに連番ふっておいて、フォーム送信時にスクリプトを発火させ、その時点でスプレッドシートの最新のデータが入っているセルの連番を取ってくるのでいいんでしょうか?(複数人が同時にフォーム送信したらどうなるんだろうとも思いますが)
m.ts10806

2019/02/21 16:19

>【急】 これも同じ。至急とか緊急とか一番避けられるタイトルです。
guest

回答1

0

自己解決

コメントおよびご覧頂いた皆さま大変ありがとうございました。
次の方法でなんとか行番号を参照し受付番号の設定ができました。

①" //タイムスタンプ→申し込み日時 "の真上に下記コードを追記
②スプレットシートの1行目の最後列に「受付番号」と入力

JavaScript

1 for ( var n = 1; n <= row; n++){ 2 3 //受付番号を設定 4 var number ='受付番号'; 5 if ( item === number ){ 6 value = n-1 7 } 8 }

投稿2019/02/21 16:57

NEXT.net

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問