毎日ルーチンワークの完了を確認するシステムを作りたいと以前から考えていたのですが、本日それっぽいのが完成したので書いていきます。
業務自動化の参考になればと思います。
作りたいもの
毎日の目標としているルーチンワークを達成したかどうかを確認するGoolge フォームを毎晩Gmailで通知して、回答をログとして残すシステムを作る。
- 毎晩タスクの達成を確認するフォームをGmailで自動的に送る
- フォーム入力完了後に入力完了のメールを送る
- 入力された内容はスプレッドシートに保存するようにする
用意するもの
- Googleアカウント
- Gmail
- Google Form
早速作っていきましょう。(Googleアカウントはお持ちで、GmailとGoogleフォームも使用できる状態を想定して話を進めていきます。)
Googleフォームを作る
Googleフォームは簡単にアンケートを作る事ができ、回答結果を回収&分析できるツールです。
直感的に作成できると思います。
初めての方は以下のサイトをご参照ください。

今回は3つの質問を作成しました。

さらに回答からスプレッドシートのマークをクリックして、回答を集計するためのスプレッドシートを作成しましょう。(指定のスプレッドシートがなければ新規作成をします。)

そうすると情報収集用のスプレッドシートが作成されます。

これで準備はOKです。
次はスクリプトを書いていきましょう。
スクリプトを書く その①

先ほどのスプレッドシートのツールから<>スクリプトエディタを立ち上げます。
そうするとこんな感じの画面が出てきます。

とりあえずfunction myFunction(){ }コピペで以下のスクリプトで置き換えましょう。
function atRemind() {
const to = '***あなたのメールアドレス***@gmail.com'; //←ここを自分のデータに置き換える
const subject = 'タスク管理';
var body =
'一日お疲れ様でした。\n' +
'今日も完了タスクを確認しましょう。\n' +
'***https://docs.google.com/forms/d/あなたのGoogleフォームのアドレス***'; //←ここを自分のデータに置き換える
GmailApp.sendEmail(to, subject, body);
}
こんな感じになるはずです。

“//←ここを自分のデータに置き換える”の部分を自分のメールアドレスやhttps://で始まるGoogleフォームのURLに置き換えましょう。
\nや’を消さないように注意しましょう。
スクリプトを書く その②
ファイルからNewのスクリプト ファイルを選択しましょう。
もう一つプログラムをコピペします。

好きな名前を入力してください。(私はatInputとしました。)

function atInput(e) {
const [timeStamp, comptask, ytcontents, blogcontents] = e.values;
const to = '***あなたのメールアドレス***@gmail.com'; //←ここを自分のデータに置き換える
const subject = 'タスク入力完了通知';
var body =
'タスクリストの入力が完了しました。 \n' +
' \n' +
`タスク入力時間: ${timeStamp} \n` +
`完了タスク: ${comptask} \n` +
`Youtubeの内容: ${ytcontents} \n` +
`ブログの内容: ${blogcontents} \n` +
' \n' +
'以下URLから毎日のログを見ることもできます。\n' +
'***https://docs.google.com/spreadsheets/d/あなたのスプレッドシートのアドレス***'; //←ここを自分のデータに置き換える
GmailApp.sendEmail(to, subject, body);
}
こんな感じになるはずです。

先ほどと同様に”//←ここを自分のデータに置き換える”の部分を自分のメールアドレスやhttps://で始まるスプレッドシートのURLに置き換えます。
\nや’を削除しないように気をつけましょう。
最後にトリガーの設定をしておきます
ここでコピペしたプログラムを🕒(時計)の横の💾(フロッピーディスク)マークで保存します。

Google Apps Scriptには便利なトリガーという機能があります。簡単に言うとスクリプトを動かすタイマーをセットできます。🕒(時計)マークをクリックしてみましょう。

+ トリガーを追加をクリックします。
今回のプログラムは毎日のルーチンを夜に確認したいので、atRemindの関数を”時間主導型”、”日付ベースのタイマー”、そして好きな時刻を設定します。

さらに、atInput関数はフォームが入力された時に結果をメールで送るように設定します。


これで設定OKです。
私の設定だと毎晩8~9時にGoogleフォームがメールにて送られてくるので、タスクの内容に回答すれば、その結果が毎晩スプレッドシートにデータとして溜められていきます。
ちなみに、Googleフォームは回答結果をグラフにしてくれるのでデータが溜まってくると分析も可能になります。
※トリガー設定時にセキュリティの警告が出る場合がありますが、このプログラムについては自分で作ったものなので詳細を押して、「許可」を押しまくれば進んでいきます。
まとめ
今回はプログラミングの知識が無くてもGoogleのアカウントがあれば簡単にできるようにコピペだけで3つの質問に対応できるように作成しましたが、もちろんGoogle Apps Scriptを勉強して拡張もそんなに時間かからずできると思います。
お試しあれ~。
最後に作業用に最近お気に入りのYOASOBIさんの『夜に駆ける』を貼っておきます。
