見出し画像

【生成AI×GAS】定期的にGASを動かす

オレンジピーチのトシです。
 今回は、作成したGAS(Google Apps Script)を定期的に実行する方法を紹介します。
 前回までで、スプレッドシートにある”配信先リスト”のメールアドレスに、Gmailから自動送信するGASが作成できたので、そのGASを定期的に動かしたいと思います。
(どのようなGASを作成したかは、過去の記事を読んでみてください)


完成イメージ:やりたいこと

 現状と実施したいことをまとめると、次のようなものです。

  • メールを送付するためのGASが「myFunction()」として作成済み。

  • このGASを、毎週月曜日の朝に動かして、メール送信したい。

 今回も生成AIを使って、進めていきたいと思います。
今回、使用した生成AIは、GoolgeのGeminiです。

生成AIは、同じ質問をしても、異なる回答が返ってくることが多いので、もしこの記事をご覧になって、同じように質問しても、違う回答となるかもしれません。しかし、簡単な操作なので、概ね動くものにはなるかとおもいます。
(生成AIの安全性については、様々な議論が行われているため、会社で使う場合は、自社の利用規定などを確認してから使用してください。
 また、個人情報などは入力しないか、生成AIごとの推奨に基づいた形での利用をお薦めします。)

生成AIを使う際の注意

生成AIに問いかける。

 今回は、次のような指示を出しました。
タイミングは、具体的に「毎週月曜日」とか、「朝7:30」のように指示を出すのが良いです。仮定の条件で構いません。「定期的に」「毎朝」といったあいまいな表現よりも、生成AIが理解しやすいためです。
(GASが出来てから、「火曜日に変更したい」といった修正を考えた方が、作りやすいと思います。)

トリガー設定の手順を教えてくれます。

参考情報のリンクが貼られているので、より詳しく知りたい人は、こちらも参照してみてください。

実際のGASを操作する

Gemini が説明してくれた手順で操作していきます。

1.Google Apps Scriptエディタを開きます。
→ スプレッドシートからGASのエディタを開きます。

2.トリガーを設定したいGASを選択します。
 →今回は、GASは1つだけなので、そのままです。
  (Gemini はエディタ内に複数の関数(function)がある場合を想定したようです。) 

3.左メニューから**「トリガー」**を選択します。
 →左メニューの目覚まし時計のアイコンがトリガーです。

スクリプトエディタのメニュー

4.**「トリガーを追加」**をクリックします。
 →はじめてのトリガーなので、一覧には表示はありません。
  右下の「トリガーを追加」のアイコンをクリックします。

トリガーの一覧画面

5.以下の設定項目を設定します。
 →「トリガーを追加」を設定していきます。
 ・実行する関数を選択 →今回はmyFunctionだけなので、そのままです。
 ・実行するデプロイを選択 →デフォルトのまま。
 ・イベントのソース選択 →「時間主導型」を選択します。
 ・時間ベースのトリガーのタイプを選択 
  (時間主導型を選択すると表示)
  →「週ベースのタイマー」を選択します。
 ・曜日を選択 (週ベースのタイマーを選択すると表示)
  →「毎週月曜日」を選択
 ・時刻を選択 (週ベースのタイマーを選択すると表示)
  →「午前7時~8時」を選択
 ・エラー通知設定 →デフォルトのまま。
6.*「保存」**をクリックします。
 設定出来たら、「保存」をクリックする。

これで、設定は完了です。
Gemini の説明した内容とは、少し異なる部分はありましたが、実際の体感としては、間違う可能性は少ないと感じました。

まとめ

 これで、毎週月曜日に自動的にGASが動いて、メールが送信されます。
この操作は、PCが立ち上がっていなくても行ってくれます。
Googleのサービスが行われているクラウド上で実行されるためです。
スプレッドシート、Gmail、GAS(Google Apps Script)と、すべてGoolgeのサービスなので、APIのような知識がなくても、簡単に連携出来ることがGASの強みです。
 トリガー設定については、時間主導型以外にも、スプレッドシートが更新されたタイミングで、GASを稼働させるなど、さまざまな条件が設定可能です。いろいろ試して見てください。
 GASのトリガーについて、理解が深まればHappyです。

最後まで読んで頂いて、ありがとうございました。


この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。