18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Apps ScriptAdvent Calendar 2013

Day 18

GASを使って自分の予定をメールで通知

Last updated at Posted at 2013-12-18

初めてこういうのを書くのでお手柔らかにお願いします。。

#何がしたかったか…
業務利用のアカウントが社外(個人携帯)からアクセスできない
→カレンダー(少なくとも今日の予定を朝知りたい!!)
→毎朝自動で携帯にメールで送ってしまおう!

こんな感じです。
社外からでも会社のアカウントにアクセスできる人はいらない機能ですが、
ちょっと便利になるかもということで書いてみます!

#届くメールはこんな感じ。
’------------------------------
1件目:XXX打ち合わせ
時間:09:00~10:00
場所:
'------------------------------
2件目:YY様来社
時間:11:00~12:30
場所:
'------------------------------

#手順
1.スクリプトエディタを開く
2.ソースを書く
3.トリガーを設定する
これだけです!

#【1.スクリプトエディタを開く】
↓にアクセス
https://script.google.com/

#【2.ソースを書く】サンプルコード

eventsend.gs
function getEventsAndEmailSend(){
  var address = 'XXXXX@yourdomain.co.jp';//カレンダーのアドレス・送信先アドレス
  var cal = CalendarApp.getCalendarById(address);//対象のカレンダーを取得
  var opt = new Object();
  opt.name = "今日の予定";//メールの送信名・・・特になくてもいい
  opt.cc = "XXX@i.softbank.jp";//CCの宛先(ここで携帯に送ってます)
  var events = CalendarApp.getEventsForDay(new Date());//処理当日の予定をeventsに格納
  var eventsText = '今日の予定は以下の通りです。'+'<br />'+"------------------------------"+'<br />';//本文TOP
  for(var i=0; i < events.length; i++){       //ループ処理 予定リストがなくなるまで
    var stime = Utilities.formatDate(events[i].getStartTime(), "Asia/Tokyo", "HH:mm");//予定開始時間
    var etime = Utilities.formatDate(events[i].getEndTime(), "Asia/Tokyo", "HH:mm");//予定終了時間
    eventsText += i+1+'件目:'+events[i].getTitle()+ '<br />' +" 時間:"+ stime +"~"+etime+'<br />'+" 場所:"+ events[i].getLocation()+'<br />'+"------------------------------"+'<br />';//本文
  }
  opt.htmlBody = eventsText;//optに本文を格納
  //メール送信
  MailApp.sendEmail(address,//送信先アドレス
                                '今日のあなたの予定です',//件名
                                '',//本文は空
                                opt//送信オプション
       );  
}

ここまでできたら一回テスト起動をしてみてください。
※認証画面が表示されるのでそこは「承認」を!

問題なさそうなら↓へ

#【3.トリガーを設定する】
自分の場合は毎日出勤中の電車でメールが届くように
毎日7時~8時に該当の処理が送られるようにセットしています。

#まとめ
今回の内容では、メールの送信・カレンダーの予定の取得という大きく二つの
Googleのサービスを使えました。

まだまだGAS初心者ですが、自分の業務効率アップ用のツールを作ろうと思うと、
積極的に知識を得ようと思えるかもです。(私だけかもしれませんが。。)

18
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?