【GAS】スプレッドシートの中身を定期的に消去する
先日のGASでは、Gmailメールから送信日時、宛先、本文からの宛名抽出し、自動的にスプレッドシートに反映させました。しかしこれ、実行するたびに、最後の行から追加されるようになっている。つまり、毎日実行させると、どんどん下に増えていっちゃうんですよね。
そこで、情報抽出のスクリプトを実行する前に、スプレッドシートを空にしてあげることにしました。こうすれば、毎日リフレッシュされているようになります。
手順1:スクリプトを準備する
ClearContent関数を使います。
function clearlist() {
//sheetを取得
var sheet = SpreadsheetApp.getActive().getSheetByName('シート名');
// そのシートにある A:D のセル範囲を取得
var range = sheet.getRange("XX:XX");
// そのセル範囲にある値のみクリア
range.clearContent();
}
スプレッドシートと直接紐づいていないGASファイルの場合、スプシを取得します。今回はURLを指定しています。
// 取得対象シートURL
var spreadSheetUrl = 'https://docs.google.com/spreadsheets/d/XXXXXXX'
// 取得対象シート名
var sheetName = 'XXXXX'
// レンジ
var columnRenge = 'XX:XX'
function clearlist() {
//シートをURLによって指定
var spreadsheetAll = SpreadsheetApp.openByUrl(spreadSheetUrl);
//シートを取得
var sheet = spreadsheetAll.getSheetByName(sheetName)
//レンジ取得
var range = sheet.getRange(columnRenge);
// そのセル範囲にある値のみクリア
range.clearContent();
}
手順2:クリアリストを走らせるトリガーを設定
情報抽出が毎日24時から1時の間に走るので、その前の毎日23時から24時の間に走らせることにしました。
手順3:保存して結果を確認
完成です。