昨日の行動ログをメールで振り返る

Googleカレンダーで今日の予定をメールでリマインドする機能はありますが、振り返りの機能がなかったので作ってみました。

Google Apps Scriptを使って作ります。

まずは、Googleスプレッドシートの画面からメニューの「ツール」→「スクリプトエディタ」を選択します。
スクリプトには最初から以下のような表示があります。

function myFunction() {

}


これを以下のスクリプトに書き換えます。「カレンダーID」に読み込みたいカレンダーのIDを、「送信したいメールアドレス」にはメールアドレスを入れてください。

function LogMail() {
 var cal = CalendarApp.getCalendarById('カレンダーID');
 var now = new Date();
 var date = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
 var events = cal.getEventsForDay(date);
 var honbun = "";
 var kenmei = Utilities.formatDate(date,"GMT+09:00","yyyy/MM/dd")+ "のログです";
 var mailto = "送信したいメールアドレス"
 if(events.length > 0){
   honbun = "昨日のログは下記の通りです" + "\n\n";
   for(var i=0; i < events.length; i++){
     honbun += Utilities.formatDate(events[i].getStartTime(),"GMT+0900","HH:mm") + "~";  
     honbun += Utilities.formatDate(events[i].getEndTime(),"GMT+0900","HH:mm") + " :";  
     honbun += events[i].getTitle() + "\n";
   }
 } else {
     honbun = "昨日のログはありません";
 }
 MailApp.sendEmail(mailto, kenmei, honbun);
}

次に、作成したスクリプトを保存します。メニューの「ファイル」→「保存」で、わかりやすい名前を付けておいてください。

スクリプトエディタの実行ボタンを選択して、スクリプトを実行します。

この時、承認が必要ですというダイアログが出現します。
ここで、「許可」を押します。
すると、スクリプトを実行するアカウントを選択するためのウィンドウが開くので選択します。

「このアプリは確認されていません」と表示されるので、「詳細」をクリックします。
以下のように「UntitleProject(安全ではないページ)に移動」と表示されるのでこれをクリックします。(UntitleProjectは各自のプロジェクト名に読み替えてください)
許可するか聞かれるので、「許可」をクリックします。
わかりにくい点はこちらを参考にしてみてください。

無事に承認が終わると昨日のログがメールに届いているはずです。

次に、毎日メールを自動で送るように設定します。

Apps Scriptにアクセスすると先ほど保存したスクリプトがあります。こちら右端にある3点のボタンからトリガーを選択します。
次にトリガーを追加をクリックするとダイアログが現れます。

実行する関数を先ほど作ったスクリプト(LogMail)にした上で、イベントのソースを選択は「時間主導型」を選択し、時間ベースのトリガーのタイプを選択は、「日付ベースのタイマー」を選択します。後は時刻を好きな時間に選択して保存します。

これでメールの自動送信が設定されます。

日々の行動の振り返りに使えますので、よろしければどうぞ。


※このページの内容は以上です。「サポート」歓迎しております。いただいたサポートはツールのメンテナンスや要望追加の費用や開発モチベーションに当てさせていただきます。
なお、本スクリプトおよび設定によって生じた損害等の一切の責任をおいかねますので、ご了承ください。


いいなと思ったら応援しよう!