前提・実現したいこと
google formsで送信時に、指定したアドレスに入力した内容を送るというスクリプトを作成しました。
指定のアドレスが複数あり、アドレスの書かれたタブを選択する形にしていますが、数が多く見えづらい状況です。
そのため、フォームの選択肢(アドレスではなくチーム名等)で、指定したいと思っております。
例えばフォームの初めの選択肢で
「チーム1」「チーム2」「チーム3」・・・と選択肢があった場合
「チーム1」を選択したら、1の担当のアドレスへ
「チーム2」を選択したら、2の担当のアドレスへ
「チーム3」を選択したら、3の担当のアドレスへ、送付したいです。
GASに記載されているアドレスを読み取って送付されるようなスクリプトを作成したいです。
下記スクリプトへの追加記載方法がわからず
お分かりの方がいましたら教えて頂けますと幸いです。
ちなみにアドレスは、1つの選択肢に最大で4つほど盛り込む予定です。
初心者なので未熟なところもありますが
何卒宜しくお願い致します。
該当のソースコード
javascript
1FormApp.getActiveForm(); 2 3function onSubmit(e) { 4 // フォームのメールアドレスとお名前の項目名 5 const emailTitle = 'メールアドレス'; 6 const nameTitle = '担当者'; 7 const companyTitle = '申込者名'; 8 const numberTitle='申込書番号'; 9 10 11 12 // メールで使う定数 13 const newLine = '\n'; 14 15 // フォームの内容一覧を取得する 16 const items = e.response.getItemResponses(); 17 18 // 自動返信するお問い合わせのあったメールアドレスを取得する 19 const email = getValueByTitle(items,emailTitle) 20 21 22// 担当者を取得する 23 const name = getValueByTitle(items,nameTitle); 24 const company = getValueByTitle(items,companyTitle); 25 const number= getValueByTitle(items,numberTitle); 26 const subject = '〇〇〇〇'+'【'+company+''+number+'】'; 27 28 29 // メール送信先 30 const admin_name="担当チーム" 31 const admin = "ccccc@cccccc"; // 管理者(必須) 32 const cc = "bbbbbb@bbbbb"; // Cc: 33 const bcc = admin; // Bcc: 34 const reply = admin; // Reply-To 35 36 37 38 39 // 本文を作成する 40 var body = ''; 41 if(name !== '') { 42 body += '◎◎◎◎様' + newLine + newLine; 43 } 44 body += 'いつもお世話になっております。' + newLine; 45 body += '以下の内容にてお申込みがありました。' + newLine + newLine; 46 items.forEach(function(item) { 47 body += '【' + item.getItem().getTitle() + '】' + newLine; 48 body += item.getResponse() + newLine + newLine; 49 }); 50 body += newLine + newLine; 51 52 body += '【ファイル名】' + newLine; 53 body += 'xxxxxxx'; 54 55 Logger.log(email); 56 Logger.log(body); 57 58 59 60// メールを送信する 61GmailApp.sendEmail(email,subject,body, 62 { 63 64 from:'aaaaaaa@aaaaaaa', 65 name:'〇〇〇〇〇', 66 67 } 68); 69} 70 71/** 72* itemsからtitleの値を取得する 73*/ 74function getValueByTitle(items, title) { 75 return items.filter(function(item) { 76 return item.getItem().getTitle() === title; 77 })[0].getResponse(); 78} 79
試したこと
以前、teratailで同様な質問がありましたので、そちらのスクリプトを参考にさせて頂きましたが、
上手く動作しませんでした。
if とif elseを使用するのではないかと思っております。
あなたの回答
tips
プレビュー