管理メニューの終了処理と同じ機能を、スプレッドシートのトリガー機能を使用して自動化します。
手順といたしましては、
- ①終了処理のGASスクリプト関数作成
- ②1日1回実行するトリガーを設定
予約をすべて削除するスクリプトは以下になります。今までの関数では、関数内でスプレッドシートを変数に取り込んでいましたが、これですとすべての関数の中で記述する必要があります。今回は関数外でアクティブシートを定数で指定しすべての関数で使用できるようにしました。同様にアクセストークンも関数外で定数として記述すればすっきりしたスクリプトになります。関数名は、daily_task()としました。
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getActiveSheet();
function daily_task() {
// var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// var sheet = spreadsheet.getActiveSheet();
var range = sheet.getRange(“H1”);
var number = range.getValue();
var range = sheet.getRange(1,1,number,2);
var value = range.getValues();
for(let i = 0; i <= (number-1); i++){
sheet.getRange(i+1,2).clear();
}
return;
}
スクリプトを保存後、[編集]⇒[現在のプロジェクトのトリガー]をクリックします。
[トリガーを追加]をクリックします。
以下のように設定し保存します。デブロイの選択では最新のものを選択します。
これで毎日午前0時から1時の間にこの関数が実行されて予約がリセットされます。