Googleフォームから得たデータを、
GASにて自分のメールアドレスへ送るスクリプトがあります。
メール本文に「名前」「メールアドレス」「URL」の項目を作りました。
このとき、たとえば「メールアドレス」のデータが入力されていない場合、
メール本文に「メールアドレス」の項目が表示されないようにしたいと思いました。
これを実現するには、やはりif関数にて「メールアドレスがある場合」
「URLがある場合」など、場合分けをして、動作を切り替えるしかないのでしょうか。
しかし検索していて見つけたこちらの記事の、
javaScript
1for (key in order) if (order[key]) temp += key + ":"+order[key]+"個\n";
の部分で行われているようなことができれば、
期待通りの結果を得ることができるのではないかと思いましたが、
ちょっと理解できませんでした。
解説、あるいは解決方法をご教示願いたいです。
よろしくお願いします。
ちなみに、現時点でのスクリプトは以下の通りです。
javaScript
1function sendNotification() { 2 // もし列Dの値に異動があれば 3 if(val[3]!=''){ // = if you edit data in col D 4 var dAddress = "***"; 5 var subject = "***"; 6 var content = "名前:"+val[1]+"\n"; 7 content += "メール:"+val[4]+"\n"; 8 content += "URL:"+val[5]+"\n"; 9 content += Utilities.formatDate(val[0],'JST','yyyy年M月d日 H時m分')+"\n"; 10 content += "**********************\n"+val[3]; 11 // メール通知する 12 content = content.replace(/\n/g,'<br>'); //必要があれば改行コードを<br>に差し替え 13 MailApp.sendEmail({ 14 to :dAddress, 15 subject :subject, 16 htmlBody:content //←pタグで挟んでもいい 17 }); 18 }
追記(2018/07/23 17:30)(解決)
javaScript
1 var ss = SpreadsheetApp.getActiveSpreadsheet(); 2 var sheet = ss.getActiveSheet(); 3 var lastLow = sheet.getLastRow(); 4 var val = sheet.getRange(lastLow,1,1,6).getValues()[0]; 5 6function sendOrderMail() { 7 var order = {}; 8 var temp = ""; 9 10 if (val[3]!=''){ 11 var dAddress = "***"; 12 var subject = "***"; 13 var content = "名前:"+val[1]+"\n"; 14 15 order['メール'] = val[4]; 16 order['URL'] = val[5]; 17 18 for (key in order){ 19 if (order[key]){ 20 temp += key + ":"+order[key]+"\n"; 21 } 22 } 23 Logger.log(temp) 24 25 content += temp; 26 content += Utilities.formatDate(val[0],'JST','yyyy年M月d日 H時m分')+"\n"; 27 content += "**********************\n"+val[3]; 28 // メール通知する 29 content = content.replace(/\n/g,'<br>'); //必要があれば改行コードを<br>に差し替え 30 MailApp.sendEmail({ 31 to :dAddress, 32 subject :subject, 33 htmlBody:content //←pタグで挟んでもいい 34 }); 35 } 36}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/23 08:38
2018/07/23 09:01 編集
2018/07/23 22:38 編集
2018/07/24 01:00
2018/07/24 01:52