見出し画像

手を動かした次は、手を離す。GASのトリガーで毎週の作業を自動にした話

前回、GASのエディタで実行ボタンを押しました。書いたのはほんの数行で、A1のセルに今日の日付が書き込まれるだけの、地味なコードでした。それでも、自分で書いたコードが自分の意思で動いた瞬間は、正直かなり嬉しかったのを覚えています。

ただ、あの時点ではまだ、ボタンを押す人間が必要でした。毎回自分でエディタを開いて、実行を押して、閉じる。これはこれで悪くないのですが、もし「毎週決まった曜日に、決まった時間に、勝手にやっておいてほしい」ことがあるなら、話は変わってきます。

たとえば、週の初めに先週の記録を集計してまとめておきたいとか、毎週同じ形式のメモを新しく作っておきたいとか。誰の日常にも、こういう「別に難しくはないけれど、毎週くり返すのが地味に面倒」な作業があるはずです。僕にもいくつかあります。そして、そういう作業ほど、気づいたときには「今週もやっていなかった」となりがちです。

今回はその続きです。前回作った「今日の日付を書く」というコードはそのままに、これを人間の手を借りずに、毎週自動で動かしてみます。使うのは、GASに用意されている「トリガー」という仕組みです。

トリガーって何をするもの

トリガーは、ひとことで言うと「このタイミングになったら、この関数を動かしてね」という予約です。時間で予約することもできますし、スプレッドシートが編集されたタイミングで動かす、というような予約の仕方もあります。細かい種類はいろいろあるのですが、今回はいったんそこには踏み込みません。知っておきたいのは「毎週この曜日のこの時間に、あの関数を動かす」という一本の予約だけです。それだけで、さっきの「気づいたら今週もやっていなかった」という悩みは消えてくれます。

前回のコードに、予約を付ける

やることは、GASのエディタの中で完結します。前回作った「今日の日付を書く」という関数を開いた状態で、画面の左側に並んでいるアイコンの中から、目覚まし時計のマークを探します。それがトリガーの画面です。

GASエディタ左側の「トリガー」(目覚まし時計アイコン)を開き、「トリガーを追加」を押す画面

そこを開くと、右下あたりに「トリガーを追加」というボタンが出てきます。これを押すと、今度は設定用のダイアログが開きます。

ダイアログの中で決めるのは、そう多くありません。まず「実行する関数」に、前回作った「今日の日付を書く」を選びます。次に「イベントのソースを選択」で「時間主導型」を選び、その下で「週ベースのタイマー」を選びます。あとは「毎週何曜日」と「何時ごろ」を指定するだけです。

追加ダイアログで「実行する関数=今日の日付を書く」「時間主導型」「週ベースのタイマー」「毎週◯曜」「時刻」を選んだ画面

決め終わったら、保存を押します。これだけです。人によっては、この保存のタイミングで「このアプリがあなたのスプレッドシートにアクセスすることを許可しますか」というような確認が、前回とは別にもう一度出てくることがあります。もし出てきたら、内容を確認したうえで許可すれば大丈夫です。

保存すると、トリガーの一覧画面に戻ります。そこに、たった今設定した予約が一行、静かに追加されているはずです。

保存後、トリガー一覧に登録された行が出た画面

この一行がある限り、もうエディタを開いて実行ボタンを押す必要はありません。指定した曜日と時間になれば、GASが勝手に思い出して、あの数行のコードを動かしてくれます。前回「手を動かした」コードが、今回で「手を離れた」わけです。

それでも残る、いちばん大事な問い

ここまでで、動かす仕組みは一通り分かりました。実行ボタンで一度動かす方法も、トリガーで毎週動かす方法も、手順としては驚くほど単純です。

ただ、僕自身、正直に言うとここで一度立ち止まった経験があります。仕組みが分かっても、「じゃあ、そもそも動かしたいコードそのものは、どうやって書けばいいんだろう」という問いが、結局いちばん大きな壁として残るからです。プログラミングをちゃんと勉強したことがない自分に、これから毎週使うコードをゼロから書けるとは、正直まだ思えていませんでした。

そこで気づいたのは、コードは一人で、ゼロから覚えて書く必要はないということです。今日の日付を書くあの数行も、今回のトリガーの設定も、実は最初から自分だけの知識で組み立てたわけではありません。やりたいことを自分の言葉でAIに伝えて、一緒に考えながら形にしてきました。「毎週この作業を自動でやりたい」という願いさえ言葉にできれば、そこから先は一人で抱え込まなくていい。これは僕にとって、地味だけれど大きな発見でした。

次は、その「AIと一緒にコードを考える」というところを、もう少し具体的にたどってみたいと思っています。何をどう伝えると、AIはどう返してくれるのか。実際のやり取りを、一緒に覗いてみられたらと思います。

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