プログラミングはまだ初心者です。
Googleスプレッドシートのスクリプトエディタを使っています。
Googleフォームで送られた内容をある形でメールに送るものを作っています。
JavaScript
1function sendForm(e){ 2 3 // 件名、本文 4 var subject = "とある"; //件名 5 var body = ""; //本文 6 var sheet = SpreadsheetApp.getActiveSheet(); 7 var lastRow = sheet.getLastRow(); 8 9 // 入力カラム名の指定 10 var PRE='\n['; 11 var AFT=']\n'; 12 var NAME_FORM_NAME = '証拠資料の場所'; //フォーム作成時に設定した項目名 13 var DoDo = '証拠資料の種類'; //フォーム作成時に設定した項目名 14 var iPhone = '資料番号'; //フォーム作成時に設定した項目名 15 var MAIL_FORM_NAME = '出典'; //フォーム作成時に設定した項目名 16 var BODY1_FORM_NAME = '引用本文'; //フォーム作成時に設定した項目名 17 var BODY2_FORM_NAME = 'URL'; //フォーム作成時に設定した項目名 18 var BODY3_FORM_NAME = '資料タイトル'; //フォーム作成時に設定した項目名 19 var BODY_FORM_NAME = '投稿者'; //フォーム作成時に設定した項目名 20 21 22 var to = e.namedValues[BODY_FORM_NAME];// メール送信先 23 var name1 = e.namedValues[BODY3_FORM_NAME]; 24 body+="#"+e.namedValues[NAME_FORM_NAME]+e.namedValues[iPhone]+"・"+name1; 25 var mailAddress = e.namedValues[MAIL_FORM_NAME]; 26 body+="\n"+e.namedValues[DoDo]+"資料"+" "+mailAddress+" より引用開始。"+"\n「"; 27 var mailAddress1 = e.namedValues[BODY1_FORM_NAME]; 28 body+=mailAddress1+"」引用終了。"; 29 switch (e.namedValues[NAME_FORM_NAME]) { 30 case "N"://追記 Nを"N"に変えました 31 var mailAddress2 = e.namedValues[BODY2_FORM_NAME];//これがURLの定義 32 body+="\n"+"<"+mailAddress2+">"; 33 break; 34 default: 35 body+="";//⬅️Nであってもどうしても結果がdefaultになってしまう!! 36 break; 37 } 38 MailApp.sendEmail(to, subject , body); //メールを送信 39}
コードの下の方ににあるswitch文で、スプレッドシートのセルの証拠資料の場所(=NAME_FORM_NAME)の値が"N"だった時にbodyに"\n"+"<"+mailAddress2+">"を追加したいのですが、値がNであってもdefaultになってしまいます。
defaultに選択されてしまっていることは確かです。
caseのところが悪いのか、switchの直後のところが悪いのか、その他に原因があるのかわかりません。
わかりづらい説明ですみません。
どなたか教えてください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/24 03:36
2015/12/24 04:05
2015/12/24 05:37