GASを使ったタスク管理作りの第3回目です!
今回はif文について紹介しつつ、タスクのアラートメール送信を完成させましょう!
前回までのおさらい
前回までの記事はこちらです。
ぜひ合わせてご覧ください。
前回はスプシのデータを繰り返して取得するところまで行いました。
今回は、最終回!
取得したデータと条件を照らし合わせてアラートのメールを送りましょう!
イメージ図を分解したものがこちらです。
工程もコードも2つだけ!
それでは解説していきます。
IF文
まずはif文を書いていきましょう!
条件によって、処理を変えたい時にif文を使います。
普段の生活で例えると、横断歩道で青信号だったら渡る、青信号じゃなかったら止まるといったイメージです。
if文の基本的な書き方はこちらです。
if(条件){
tureだった時の処理
}
()の中で条件を指定して{}の中でture(正しかった時)の処理を書きます。
false(正しくない時)の場合は処理をせず{}以降にコードが書いてあればその処理に進み、{}以降に何も書かれていなければプログラム実行が終了されます。
今回の場合、条件は2つあります。
まず1つ目は「期限が今日の日付だったら」という条件を書きましょう。
if(taskday == today){
tureだった時の処理
}
条件には繰り返し処理で取得した期限列の値と、今日の日付を取得した時の値を比べています。
条件を書く時は比較演算子を使いましょう。
if文でよく使われる比較演算子はこちらです!
演算子 | 意味 |
== | 前後の値が正しい |
!= | 前後の値が正しくない |
そして、もう一つの条件「完了チェックに完了が書いてなかったら」を指定しましょう。
条件はif文の中で複数指定することが出来ます。
複数指定をするときには指定の方法により書き方が異なります。
種類 | 意味 |
&& | かつ |
|| | まはた |
今回は2つの条件が正しいときなのでかつを使用します。
もう1つの条件を追加したif文がこちらです。
if(taskday == today && comp ==""){
tureだった時の処理
}
繰り返し処理で取得した完了チェック列の値が空白のものを探しています。
空白だったらを知りたい時はダブルクォーテーションを2つ書きます。
この時にスペースを付けてしまうと、スペースがある値を正しいとしますのでスペースは付けません。
次に条件が正しかった時の処理を書きましょう。
2つの条件どちらも正しいときはGメールを送りたいのでメール送信のコードを書きましょう。
以前紹介したGmailApp.sendEmail(“宛先”,”件名”,”本文”)を使います。
追記して完成したコードがこちらです!
function taskMail() {
//スプシのID、シートを取得する
var ssID = "スプシID";
var sssheet =SpreadsheetApp.openById(ssID).getSheetByName("作業一覧");
//今日の日付を取得して、年/月/の表示形式にする
var date = new Date();
var today =Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy/MM/dd')
//スプシの最終行を取得
var lastRow= sssheet.getLastRow();
//繰り返し処理で作業リスト、期限、完了チェックの値を取得する
for (var i =3; i <= lastRow; i++){
var taskname = sssheet.getRange("B"+i).getValue();
var comp = sssheet.getRange("D"+i).getValue();
var taskdate = sssheet.getRange("C"+i).getValue();
var taskday =Utilities.formatDate( taskdate, 'Asia/Tokyo', 'yyyy/MM/dd')
//期限と今日の日付が一緒、かつ完了チェックに完了が書かれていないならアラートメールを送る
if(taskday == today && comp ==""){
GmailApp.sendEmail("アドレス","作業期限",taskname + "は今日が期限です");
}
}
}
アドレス部分には送り先を指定してください。
それではプログラム実行してみましょう!
このように今日の日付と期限が一緒かつ、完了されてないタスクがメールで送信されました!
あとがき
3回に分けてタスクアラートの作成について紹介しました。
GASを使った業務自動化をするときは下記2つが大切になってきます。
・GASの流れを考えて書き出す事
・条件を抜けもれなく洗い出す事
今回の場合、「期限が今日の日付」かつ「完了になっていなかったら」という2つの条件が正しいときだけメールを送ります。
この条件どちらかが抜けたGASを作成してしまうとメールが送られません。
抜け漏れをなくすためには、GASの流れを考えて書き出す事がおススメです。
今回紹介したコードはそのままコピーしてスプシIDやアドレスなどの必要部分だけ書き換えればご使用いただけます。
ぜひ利用してみて下さい!
コメント