見出し画像

【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:保存して結果を確認

完成です。


この記事が気に入ったらサポートをしてみませんか?