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

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

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

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

Google Apps Script

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

Google

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

Q&A

1回答

1573閲覧

Googleフォームでプルダウンで選択した値によってBCCに付ける送信先を変更したい

clown1616

総合スコア13

Google フォーム

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

Google Apps Script

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

Google

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

1グッド

0クリップ

投稿2020/10/12 15:31

##前提・実現したいこと
Googleフォームで申し込みをすると自動的に参加証が送付されるScriptを作成しました。
機能強化をしたく、プルダウンで選択した値によってBCCに付けるアドレスを変更したいです。

Googleフォームの途中にある項目「お住まい」でプルダウン形式で
「A市」「B市」「C市」を回答者に選択いただき、
「A市」ならA市の担当者のアドレス、
「B市」ならB市の担当者のアドレス、
「C市」ならC市の担当者のアドレス…といった構成にしたいです。

ご存じの方がおられましたらご教示いただけますと幸いです。
よろしくお願いいたします。

##該当のソースコード

GAS

1function autoreply() { 2 //Googleフォームへの回答にGmailから自動返信 3 4 var SS=SpreadsheetApp.getActiveSpreadsheet(); //シートを取得 5 var Sheet1=SS.getSheets()[0]; //シートを取得 6 var Sheet2=SS.getSheets()[1]; //シートを取得 7 //var Sheet3=SS.getSheets()[2]; //シートを取得 8 9 var row = Sheet1.getLastRow(); 10 var column = Sheet1.getLastColumn(); 11 var range1 = Sheet1.getDataRange(); 12 var range2 = Sheet2.getDataRange(); 13 14 //フォームの入力項目をセット 15 var timestamp = range1.getCell(row, 1).getDisplayValues(); //A列|タイムスタンプ getvalueをGetDisplayVlauesに変更することで日付の表記を変更 16 var namae = range1.getCell(row, 2).getValue(); //B列|お名前 17 var address = range1.getCell(row, 3).getValue(); //C列|連絡先(メールアドレス等) 18 var osumai = range1.getCell(row, 4).getValue(); //D列|お住いの地域 19 var sankashikaku = range1.getCell(row, 5).getValue(); //E列|会員区分 20 var year = range1.getCell(row, 6).getValue(); //F列|年齢 21 var sanka = range1.getCell(row, 7).getValue(); //G列|参加枠 22 var you = range1.getCell(row, 8).getValue(); //H列|該当するものをご選択ください 23 var need = range1.getCell(row, 9).getValue(); //I列|必要な配慮がありましたら教えてください 24 var contact = range1.getCell(row, 10).getValue(); //L列|備考 25 26 //日付フォーマットを変更 27 Utilities.formatDate(new Date(), "JST", "YYYY/MM/DD HH:MM:DD"); 28 29 //メール送信者の情報をセット 30 var strFrom="jimukyoku@gmail.com"; //From 31 var strSender="事務局"; //差出人名 32 var bcc="jimukyoku@gmail.com"; //bcc 33 34 //メールの本文をセット getCell(行番号,列番号) 35 var title = range2.getCell(2, 2).getValue(); //「自動返信用メール本文」のセル(2,2)の値を取得=メール件名 36 var mailbody = range2.getCell(3, 2).getValue(); //「自動返信用メール本文」のセル(3,2)の値を取得=メール本文 37 var uketuke = range2.getCell(4, 2).getValue(); //「自動返信用メール本文」のセル(4,2)の値を取得=受付方法の説明 38 var signature = range2.getCell(5, 2).getValue(); //「自動返信用メール本文」のセル(5,2)の値を取得=署名 39 40 //自動返信メール本文をセット 41 var body = namae + "様\n\n"; // 「\n」は改行を意味します。 42 body += mailbody; // 「+」は一行前から続いていることをを意味します。 43 body += "お申込み日時:"+ timestamp+"\n"; 44 body += "お名前:"+ namae + "(" + you + ")"+"\n"; 45 body += "参加資格(参加費):"+ sankashikaku +"\n"; 46 body += "お住まい:"+ osumai +"\n"; 47 body += "年齢:"+ year +"\n"; 48 body += "ランチ会:" + sanka +"\n"; 49 body += "必要な配慮:" + need +"\n"; 50 body += "備考:"+ contact +"\n\n"; 51 body += uketuke +"\n\n"; 52 body += signature; 53 54 //事務局Gmailから自動返信する 55 GmailApp.sendEmail( 56 address, //宛名=address 57 title, //件名=title 58 body, //本文=body 59 { 60 bcc: bcc, 61 from: strFrom, //fromアドレス 62 name: strSender //差出人名 63 } 64 ); 65}

##試したこと
以下の記事を参考にしましたがうまくいきませんでした。
記事:google formsで選択肢に応じてメールの送信先を変更したい

IFを使って条件分岐をしていくところまではわかっているのですが、、、。

KazuSaka👍を押しています

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

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

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

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

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

sawa

2020/10/14 05:50

参考元の記事と同じようにというか、ほぼそのまま同じで IFで分岐で良さそうですが、うまくいかないとは、どういうコードを書いたら、どういうエラーが出たということでしょうか?
guest

回答1

0

Googleフォームの途中にある項目「お住まい」でプルダウン形式で

「A市」「B市」「C市」を回答者に選択いただき、
「A市」ならA市の担当者のアドレス、
「B市」ならB市の担当者のアドレス、
「C市」ならC市の担当者のアドレス…といった構成にしたいです。

コメントにあるとおり、この要件は if や switch で自明に実装できるので、要はコード書いてくれってことでしょう?
だったら、その「お住まい」に実際どのようなデータが設定されて、どうふりわけするかの情報がないとコードかけないです。

概念でいいなら↓こうやっていけばできると思います。

javascript

1let bcc = "" 2if(osumai === "A市") { 3 bcc = "たんとうしゃA"; 4}

投稿2021/01/14 01:25

papinianus

総合スコア12705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問