Google フォーム 条件付き自動メール送信/健康観察/◯℃以上/異常値検出/if( )
プログラムが増えていくと、ソースが自分になっていく感じが嬉しい今日この頃。
最近、学校界隈は休校やら学年閉鎖やら学級閉鎖やら。
何かと、オンラインの必要性が出ているみたいですね。
それぞれの学校で、ICTを推進してきた先生は、また大変な時期ですよね。
こうならないと動かない学校なんて、おっと😎
さて、最近、フォームをもらって、それに対する自動メールの問い合わせがあったりしたので、
ここで行ってたプログラムを書いていきたいと思います。
って思ったけど、こちらの記事がめちゃくちゃわかりやすいので、こちらをみてください🤣笑
んで、ここからは追加をしていきます。
例えば、学校やそれ以外の団体やイベントでも、体温が高いとか濃厚接触者とか、異常値があった時にメールが欲しいですよね。
そんな時にはこんな感じで作ってみましょう!
例えば、こんなフォーム
function helthCheck(e) {//メイン関数
var values = e.values;//フォームの回答を取得
var stamp = values[0];//タイムスタンプを取得
var section = values[1];//クラスを取得
var number = values[2];//出席番号を取得
var name = values[3];//名前を取得
var temperature = values[4];//体温を取得
var contact = values[5];//濃厚接触者などの有無を取得
var detail = values[6];//詳細な体調不良を取得
var text = values[7];//その他の記述
let To = '';
if (temperature >= 37 ||contact == 'はい' ||text) {
if (section=='11') {
To = ' ' //送りたい先生のメールアドレス、例えば、11の担任のメールアドレスを入れる
} else if (section=='12') {
To = 'ここ'
} else if (section=='13') {
To = 'ここ'
}else if (section=='21') {
To = 'ここ'
}else if (section=='22') {
To = 'ここ'
}else if (section=='23') {
To = 'ここ'
}else if (section=='31') {
To = 'ここ'
}else if (section=='32') {
To = 'ここ'
}else if (section=='33') {
To = 'ここ'
}
let Options = {
//必要ない場合は、//を前に入れてコメントアウトしてください。
'cc':'ここ', //ここでCCを設定、学年主任や養護教諭、複数設定したい場合は半角カンマで区切る
'bcc':'ここ' //ここでbccを設定、学年主任や養護教諭、複数設定したい場合は半角カンマで区切る
};
// 自動返信メール件名
let Subject = '確認対象生徒'//こちらはメールの件名になります
// 自動返信メール本文
let Body =
'健康確認アンケートで確認対象生徒が出ました。生徒に連絡を取り、状況を確認して下さい。'+'\n'+ //こちらはメールの本文です。
'【氏名】:' + name + '\n'+
'【クラス】:' + section + '\n'+
'【番号】:' + number + '\n'+
'【体温】:' + temperature + '\n'+
'【濃厚接触者】:' + contact + '\n'+
'【体調】:' + detail + '\n'+
'【その他】:'+ text + '\n'+
'【フォーム送信日時】:' + stamp;
GmailApp.sendEmail(To, Subject, Body, Options); ;
}
解説をしておくと。
if (temperature >= 37 ||contact == 'はい' ||text)
このifでメールを送るかどうかを決めています。
tempreatureの中に、フォームで入力された体温が入っているので、これが指定の温度よりも高いどうかを確認しています。
'もし'高ければ、メールを送ります。
|| contact == 'はい'
もちろん、37.4とか少数まで設定可能です。
ここで数値で判断したかったので、フォームの回答の検証で数値に設定しておいた方がいいんですよ。
では、濃厚接触者がいるかどうかをラジオボタンで、はい・いいえを聞いています。
'もし'、はいならばメールを送ります。
||
は、OR(∪、または、論理和)の意味なんです。
ちなみに、AND(∩、かつ、論理積)は、&&です。
最後に、
|| text
です。
よくフォームの最後に、何かコメントや問い合わせは??
と入れることが多いですよね。
今回は、textという変数にその入力された内容(多くは文字列になると思いますが)が入っています。
'もし'、ここになんらかの入力があれば(真ならば)メールを送るというようになっています。
という感じです。
ちなみにその逆、中身がないなら(detailの否定(!)が真ならば)起動するぞ!!にしたい場合は、変数の前に!を入れます。
|| !detail
こんな感じになります。
んで、
その中のもう一つのifで、クラスごとに送る先を決められます!
(クラスで分ける必要なければ入りません。)
これは、
else if()
で増やせるので、たくさん増やしたければ追加してくださーい。
ぜひ試してみてください!😆
あ、トリガー設定も忘れずに!
こんな感じで設定します!
最後の許可をクリックのところが見切れちゃいましたけど、許してください。