【GAS】2日前より古いシート名のシートを一気に削除する方法

シートの操作

GAS シートの操作一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】シートをまとめて削除する方法(Gスプレッドシート)
  • GASでシートを削除する方法がわかります。
  • シートをまとめて削除する事ができます。
  • GASがわからなくても簡単にできます。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • GAS(JavaScript)における日付の作成方法がわかります。
    • GASでシート一覧の取得や削除する方法がわかります。

    なので、サクッとマスターして

    と答えてあげてください。

    ご質問

    やりたいことは、シート名が月日のチェックシートを作成後、不要になったシートを削除するんですが、本日より2日後以降のシートをすべて削除したいんです。例えば今日が10月7日なら10月5日以降のシートを削除します。見よう見まねで作ってみたんですが、うまく動きません。

     

     

    動画はこちら

    【GAS】Googleスプレッドシート 古いシート名のシートを一気に削除する方法

    シートはこちら

    *クリックすることでシートが開きます。

     

     

    スクリプト

    function samp1() {
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      let date = new Date();
    
    
      //今年の文字列
      let str_year = Utilities.formatDate(date, 'JST', 'y')+"/";
    
    
      date.setDate(date.getDate() - 2)//今日の2日前
    
    
      let days2ago = Utilities.formatDate(date, 'JST', 'M/d');
      // console.log(days2ago);
     
      let sheets = ss.getSheets();
    
    
      //シート一覧のループ
      for (let i = 1; i < sheets.length; i++) {
    
    
        let tempdate = sheets[i].getName()
    
    
        //シート名から日付データを生成する
        tempdate = new Date(str_year + tempdate);
    
    
        //2日前以前であれば
        if (tempdate < date) {
          let trashsh = ss.getSheetByName(sheets[i].getName());
          console.log("削除するシート", sheets[i].getName())
          ss.deleteSheet(trashsh);    //シートの削除
        }
      }
    }

     

    ポイント

    文字列から日付を作成

    シート名を日付として認識させるには、GAS(JavaScript)で、
    文字列を日付データ変換する必要があります。

    2023年10月17日の日付データ
    let date = new Date( “2023/10/17”)

     

    シート名が「10/17」なので「年/」を付加して
    作成します。

     let str_year = "2023/"
     let tempdate = "10/17"
    
    
     let date = new Date( str_year + tempdate)
    今年の年を文字列で取得する

    現在の日付から年を抽出すればOKです。

     const str_year = Utilities.formatDate(date, ‘JST’, ‘y’)

     

     

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    【GAS】シート一覧の取得と表示/非表示の設定(Gスプレッドシート)
  • シート一覧を取得できるようになります。
  • シートの表示/非表示を切り替えられるようになります。
  • JavaScriptにおけるforEachやmapさらにfilterの例がわかります。
  • GAS シートの操作一覧

    GAS基礎講座一覧

    コメント

    タイトルとURLをコピーしました