メインコンテンツへスキップ

GAS(Google Apps Script):トリガーで指定した時刻にスクリプトを実行する

    GASのトリガーを使うと、特定の時間帯にスクリプトを自動的に実行できます。

    トリガーを設定する方法

    スクリプトエディタで、編集 > 現在のプロジェクトのトリガーをクリックするとトリガーの一覧画面が表示されます。

    スクリーンショット 2020-06-23 23.34.45

    トリガーを追加をクリックし、次のとおりに設定して保存をクリックするとトリガーが追加されます。
    【毎日午前8時〜9時に1回実行する場合】
    ・実行する関数を選択:トリガーで実行したい関数を指定
    ・実行するデプロイを選択:Head
    ・イベントのソースを選択:時間主導型
    ・時間ベースのトリガーのタイプを選択:日付ベースのタイマー
    ・時刻を選択:午前8時〜9時

    スクリーンショット 2020-06-23 23.39.02

    スクリーンショット 2020-06-23 23.45.14

    また、時間ベースのトリガーのタイプを選択で別のオプションを選択すると、1時間ごとなど異なる間隔で関数を実行できます。

    スクリーンショット 2020-06-23 23.50.07

    時刻指定でトリガーを設定する方法

    毎日8時00分に指定した関数を実行するなど時刻を細かく設定したい場合は、トリガーにScriptAppクラスのnewTriggerメソッドを組み合わせて使います。
    例えば、毎朝8時00分に起動する場合、こちらのサンプルコードのようにsetTrigger関数を使って8時00分にmainFunctionを起動するようトリガーを作成します。

    function setTrigger() {
     
     let setTime = new Date();  //現在日時を取得(この場合、setTrigger関数が実行された日時)
     setTime.setHours(8);       //8時に設定
     setTime.setMinutes(00);    //0分に設定
     
     //8:00にmainFunctionが実行されるようトリガーを作成
     ScriptApp.newTrigger('mainFunction').timeBased().at(setTime).create();
    }
    
    //指定した時刻8:00に実行される関数
    function mainFunction() {
     console.log('Good Morning!!!');
    }

    そして、トリガーの追加で実行する関数にsetTriggerを指定し、午前6時〜7時(mainFunctionを実行する8時00分よりも前の時間帯)を設定します。

    スクリーンショット 2020-06-24 0.42.55

    午前6時から7時の間にsetTrigger関数が実行されると、トリガーが新規に作成されます。トリガーの編集から確認すると、午前8時00分にmainFunctionを実行するようトリガーが設定されていることが確認できます。

    スクリーンショット 2020-06-24 0.56.10

    スクリーンショット 2020-06-24 0.56.36


     
     
    ノンプログラマーですがGAS(Google Apps Script)初めてみました! たくさんのプログラミング言語がありますが、GASは無料でスタートできる、JavaScriptベースなので分かりやすい、Googleサービスで実行できるので、業務改善のコスパは最強です!

    あなたへのおすすめ