4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Spreadsheet: Google Apps Scriptを定期実行する

Last updated at Posted at 2021-11-04

この投稿ではGoogle Apps Scriptを定期実行する方法を紹介します。

Google Apps Scriptとは

Google Apps Scriptは、Google SpreadsheetやGoogle Docsと連携して動くプログラムです。Excelのマクロのような存在です。JavaScriptで書けて、Spreadsheetを参照・変更したり、外部のウェブAPIを呼び出したり、簡単なHTTPサーバーも作れる便利なやつです。

Google Apps Scriptで設定できるスケジュール

Google Apps Scriptでは次のスケジュール設定が行えます。

  • 日時(YYYY-MM-DD HH:MMで指定)
  • N分おき (1分、5分、10分、15分、30分から選択)
  • N時間おき (1時間、2時間、4時間、6時間、8時間、12時間から選択)
  • 1日1回 (24時間のうち何時ごろ実行するかは選べる)
  • 曜日 (月火水木金土日から選択した上で、時間帯を選ぶ)
  • 毎月 (1日〜31日の間から選択した上で、時間帯を選ぶ)

このようにそこそこ柔軟なスケジュール設定が行えます。

Google Apps Scriptを定期実行する方法

Google Apps Scriptはcronのように時間指定で起動できます。その設定方法を順を追って説明します。

まず、スプレッドシートの「拡張機能」→「Apps Script」を開きます。

エディタが開いたら、myFunctionの実装にconsole.log(new Date());と書き、保存します。

続いて、「トリガー」ページを開き「トリガーを追加」ボタンを押します。

トリガー追加のモーダルが出るので、次のとおり設定します。

  1. 実行する関数を選択: myFunction
  2. イベントのソースを選択: 時間主導型
  3. 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
  4. 時間の間隔を選択(分): 1分おき

設定したら「保存」を押します。これで定期実行の設定が完了です。

実行履歴を見る

設定したトリガーが期待通りに動いているかは「実行数」ページで確認できます。

1回実行されるごとに1つ履歴が増えます。各履歴を開くと、console.logの結果も確認できます。myFunctionでは現在時刻をロギングするようにしていたので、上の図では現在時刻が表示されています。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?