teratail header banner
teratail header banner
質問するログイン新規登録
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

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

Google Apps Script

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

Q&A

解決済

1回答

2325閲覧

【GAS】Googleフォーム自動返信:回答で取得したアドレスを宛先のCCに入れたい

Elly_

総合スコア11

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

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

Google Apps Script

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

0グッド

0クリップ

投稿2022/01/30 07:05

0

0

前提・実現したいこと

Googleフォームの自動メール返信用GASを作成しています。
→回答集計用のスプレッドシートの内容を元にメールを作成する流れ

件名と本文の中にGoogleフォームの回答を入れることはできたのですが、
こちらに加えて自動返信メールの宛先に、必要に応じてCCを入れたいというところで躓いています。

イメージとしては、
返信先のToは回答用スプレッドシートの2列目で取得しているアドレスになっているので、
6列目の回答でCCを取得すれば、同様にアドレスを返信先のCCに含められるのではないかと思い、作成してみました。

発生している問題・エラーメッセージ

エラーメッセージは出ないものの、おそらく以下の原因で、 6列目で取得した情報が件名になり、本文は元々件名で表示していたものだけになって、 表示されるべき本文は反映されなくなりました。 ⇓ 6列目で取得したアドレスをccにできるかもしれないと思い追加した以下2点 ①8行目の→var cc = sheet.getRange(row, 6).getValue(); ②27行目の→GmailApp.sendEmail(mail,**cc**,title,mail_body);//メール送信 上記2点を削除すれば普通に自動返信としては成り立つのですが、 そもそもこの方法で必要に応じて自動返信の宛先にccを追加するというのは難しいのでしょうか。

該当のソースコード

ソースコード function myFunction() { var sheet = SpreadsheetApp.getActiveSheet();//スプレッドシートを取得 var row = sheet.getLastRow();//最終行を取得 var name = sheet.getRange(row, 2).getValue();//2列目、最終行のセルの値を取得。つまりお名前欄のデータを取得します。 var mail = sheet.getRange(row, 3).getValue();//以下同様に、必要なデータを取得します。 var item = sheet.getRange(row, 4).getValue(); var contents = sheet.getRange(row, 5).getValue(); var cc = sheet.getRange(row, 6).getValue(); var title = "お問い合わせありがとうございます。";//メールタイトル //メール本文を作成 var mail_body = "お問い合わせありがとうございます。\n" +"下記のとおりお問い合わせを受け付けました。\n" + "--------------------------------------\n" + "○お名前\n" + name + "\n\n" + "○ご連絡先メールアドレス\n" + mail + "\n\n" + "○お問い合わせ項目\n" + item + "\n\n" + "○お問い合わせ内容\n" + contents + "\n\n" + "---------------------------------------\n\n" + "確認後、返信させていただきます"; GmailApp.sendEmail(mail,cc,title,mail_body);//メール送信 }

試したこと

https://www.yukibnb.com/entry/gas_send_email#%E8%A4%87%E6%95%B0%E5%90%8D%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B
上記サイトで、
「GmailApp.sendEmailの後ろの基本は(宛先、件名、本文、オプション)」という記載を見て、
以下変更を加えたところ、そもそもエラーになってしまいました。

①8行目の→var cc = sheet.getRange(row, 6).getValue();

//必要に応じて6列目の情報を取得してccにも自動返信する。
ver options = {
cc = sheet.getRange(row, 6).getValue();}

②27行目の→GmailApp.sendEmail(mail,cc,title,mail_body);//メール送信

GmailApp.sendEmail(mail,title,mail_body,options);//メール送信

<結果>
構文エラー: SyntaxError: Unexpected identifier 行: 10 ファイル: コード.gs

最終的には「attachments」を使用して自動返信にファイルも付けたいのですが、
ここのオプション設定を攻略しないと同じ事になる気がしているので一旦やめています。

補足情報(FW/ツールのバージョンなど)

GAS初心者のため、ほかの方が公開しているテンプレートをアレンジしようと思い進めている状況です。
足りない情報がある場合にはご指摘いただけますと幸いです。(根本的に間違っているなども)
どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

最後のみこちらの表記にしたところ、ccの取得ができました。

GmailApp.sendEmail(mail,title,mail_body,{cc:cc});//メール送信

ありがとうございました。

投稿2022/01/30 10:36

Elly_

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問