Google ToDoリストは、タスクに日付を入れると便利です。
「これは今日、これは明日」と、いつやるタスクなのか整理できて見やすくなります。
ただ、終わらなかったタスクは過去の日付で延々と残ってしまうんですよね。
そこで、古いタスクを自動で「今日のタスク」に日付を更新する方法をご紹介します。
過去のタスクを見逃すこともなくなりますので、5分ほどお付き合いください。
昨日のタスクを今日に更新するのが地味に面倒…
Google ToDoリストでタスクに日時を入れると、「今日」や「明日」と自動で分類してくれるので、その日にやるべきタスクが見やすくなります。

ただ翌日になると、終わらなかったものが「昨日のタスク」として期限超過になるので、手作業で「今日」に日付更新しています。

これが1つや2つなら問題ないですが、数日かかるタスクが5個も6個もあると、手作業で毎日更新する時間がもったいないんですよね。。
そこで、ちょっとしたプログラムで「過去のタスクを自動的に今日のタスクに更新」する仕組みをつくってみました。
コピペでOK。自動でタスクを「今日」に更新するプログラム
Googleアカウントを持っていれば無料で使える「GAS(Google App Script」というサービスを使って、まいにち日付が変わると自動でプログラムを実行する仕掛けをつくります。
プログラムを用意する
▼GAS のページを開いて Starg Scripting をクリックします。

▼新しいプロジェクト をクリックします。

▼プログラムを入力する画面になります。まずは最初からあるプログラムを消してまっさらにします。

▼次のテキストをすべてコピーして、さきほど文字を消した部分にペースト(貼り付け)します。
function updateDue(){ const lists = Tasks.Tasklists.list().getItems(); // タスクリストを全て取得 lists.forEach(function (list){ // タスクリストからタスクを取得 let tasks = Tasks.Tasks.list(list.id, {showCompleted:false, maxResults:100}).getItems(); // MAX100タスクを読み込み for (let i = 0; i < tasks.length; i++) { console.log(tasks[i].due + ':' + tasks[i].title); if(tasks[i].due){ if(new Date(tasks[i].due) < new Date()){ tasks[i].due = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd') + 'T00:00:00.000Z'; Tasks.Tasks.update(tasks[i], list.id, tasks[i].id); } } } }); }
▼つづいて、プログラムから Google ToDoリストに接続するための設定をします。
左側の サービス のところにある+マーク をクリックします。

▼一覧の中から Tasks API を選択して 追加 をクリックします。

▼サービスの下に「Tasks」というのが出ればOKです。

▼これでプログラムの用意ができたので、フロッピーアイコン(保存) をクリックして保存します。

▼ちゃんと動くか一度テストしてみましょう。
①の部分で「updateDue」を選んで 実行 をクリックします。

▼初回のみ「プログラムが Google ToDoリストを操作する許可」を求められるので、権限を確認 → アカウント選択 → 詳細 → 無題のプロジェクト(安全ではないページ)に移動 → 許可 とクリックしていきます。

▼

▼

▼

▼

▼下の方に「実行完了」と出ればOKです。
※もしエラーになったら、もう一度 プログラムを丸ごとコピペ → Tasksサービス追加 を試してみてください。

▼Google ToDoリストを見ると、昨日のタスクが今日に更新されています。

タイマーをセットする
プログラムが用意できたので、まいにち日付が変わったタイミングで自動でプログラムを実行するようにタイマーをセットします。
▼左側の 目覚まし時計アイコン(トリガー) をクリックします。

▼トリガーを追加 をクリックします。

▼タイプを 日付ベースのタイマー(①)、時刻を 午前0時~1時(②) とセットして 保存 をクリックします。

▼これでトリガー(自動実行タイマー)がセットされました。

▼さいごに、今回つくった「プログラム+実行タイマー」に分かりやすい名前を付けておきましょう。
「無題のプロジェクト」の部分をクリックすると名前を変えられます。

以上で過去のタスクを今日に自動延長する仕掛けが完成です。
おつかれさまでした!
なお、GASのページ からプログラムの実行時間などを後から変えられるので、調整が必要になったらアクセスしてみてください。
今日やるタスクをGoogle ToDoリストで可視化しよう
Google ToDoリストは高機能ではありませんが
- シンプル
- 無料で使える
- Googleカレンダーとも連携
と十分に普段使いできるタスク管理ツールです。
PC版Gmailやスマホからさくっとタスク登録し、今日やるタスクを「本日」にすることで、その日やることに集中できるようになります。
そして、1日で終わらないタスクは次の日に自動で持ち越せるようになるので、ぜひ本記事の仕組みをお試しください。
最後まで読んでいただきありがとうございました。
※本記事のソースコードは 毎朝GASでGoogle Tasks(ToDo)を取得して期限切れタスクをSlackで教えてもらう|CODE:LIFE を参考にさせていただきました。
コメント