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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

JavaScript

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

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

Google

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

Q&A

解決済

1回答

1482閲覧

Googleフォーム回答メールにjavascriptの改行を付けたい。

443

総合スコア10

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

JavaScript

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

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

Google

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

0グッド

0クリップ

投稿2020/05/21 03:50

前提・実現したいこと

Googleフォームをカスタマイズし、フォームを作成しているのですが
チェックボックスの回答を追加し、問題なくフォームは完成したのですが、

登録があった際のメールで困っております。

チェックボックス項目を追加したのですが、複数選択の場合メールでは改行がされず見にくくなっており改行をつけたいのですが、わかりません。。。

現在のメール

test 様から 下記の内容で、回答を受信しました。 ------------------------------------------------------------ 【氏名】 test 【年齢】 20 【メールアドレス】 test@gmail.com 【電話番号】 123456 【開催日・時間】 5月18日 (月) 10:30~, 5月19日 (火) 13:00~, 5月20日 (水) 15:00~

上記の「開催日・時間」の箇所に改行を入れたいです。

完成イメージ
【開催日・時間】
5月18日 (月) 10:30~,
5月19日 (火) 13:00~,
5月20日 (水) 15:00~

このような感じに・・・
解決方法お分かりになる方がいればお教えいただきたいです。

該当のソースコード

function sendMailFromForm() { Logger.log('sendMailFromForm() debug start'); //------------------------------------------------------------ // 設定エリアここから //------------------------------------------------------------ // 件名、本文、フッター var subject = "[説明会に登録がございました。]"; var body = "下記の内容で、回答を受信しました。\n\n" + "------------------------------------------------------------\n"; // 入力カラム名の指定 var NAME_COL_NAME = '氏名'; var OLD_COL_OLD = '年齢'; var MAIL_COL_NAME = 'メールアドレス'; var TEL_COL_NAME = '電話番号'; var SCH_COL_NAME = '開催日・時間'; // メール送信先 var to = ""; // 送信先アドレス設定 //------------------------------------------------------------ // 設定エリアここまで //------------------------------------------------------------ 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; subject += col_value; } if ( col_name === OLD_COL_OLD ) { subject += col_value; } if ( col_name === TEL_COL_NAME ) { subject += col_value; } if ( col_name === SCH_COL_NAME ) { subject += col_value; } } // メール送信 MailApp.sendEmail(to, subject, body); }catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); } }

試したこと

javascriptのreplaceで置換処理などをしようと思ったのですが、
勉強不足のためどこに記述すれば良いのかもわからない状態です。

解決方法お分かりになる方がいればお教えいただきたいです。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

日付のカンマ区切りを改行に変換してみました。

変更前

body += "【"+col_name+"】\n"; body += col_value + "\n\n";

変更後

body += "【"+col_name+"】\n"; if ( col_name === SCH_COL_NAME ) {  body += col_value.replace(/,/g,'\n') + "\n\n"; }else{ body += col_value + "\n\n"; }

投稿2020/05/21 07:49

編集2020/05/22 10:44
na-01

総合スコア99

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

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

443

2020/05/22 01:58

回答ありがとうございます。 2つの方法試してしましたが、駄目でした。 もしかするとGoogleのスプレッドシートを経由して行っているので複雑なのかもしれないです・・・
Lhankor_Mhy

2020/05/22 02:21

横からすみません。 変数 subject は、メールの件名ではないでしょうか。変更すべきは本文なので、body かと思うのですが。
na-01

2020/05/22 04:42

ご指摘通りです。訂正いたしました。
443

2020/05/22 10:29

ありがとうございます。一歩近づいたのですが、 変更した所、下記の状態になりました。 【開催日・時間】 5月22日 (金) 10:30~ 5月25日 (月) 13:00~, 5月26日 (火) 15:00~ 一行目は改行されたのですが2行目以降が変換されませんでした・・・
443

2020/05/22 11:14

ありがとうございます!! 無事改行できました!本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問