1
1

More than 1 year has passed since last update.

Google Apps Script 過去の予定(行)を非表示にする方法

Last updated at Posted at 2022-09-16

下準備 Googleスプレッドシート

新しくスプレッドシートを開き、下記のようなカラムのデータを適当に入力してください。

スクリーンショット 2022-09-12 5.22.42.png

YouTubeで解説

プログラム

次に、メニューバーの「拡張機能」から「Apps Script」を選択します。

スクリーンショット 2022-09-12 5.25.26.png

下記のデフォルトのコードは使わないので、全部選択してdeleteで消してください。

コード.js
function myFunction() {
  
}

代わりに、下記のコードをコピーして貼り付けてください。

コード.js
// スプレッドシート情報 https://docs.google.com/spreadsheets/d/******************************/edit#gid=0
const SHEET_ID     = '******************************';
const SHEET_DATA   = SpreadsheetApp.openById(SHEET_ID).getSheetByName('シート1');

function hideRow() {

  const numRowData    = SHEET_DATA.getLastRow()-1; // 最後行の行番号を取得
  if (numRowData == 0) {
    return;
  }
  let date = new Date();
  date = new Date(date.getFullYear(), date.getMonth(), date.getDate()-1);
  const theDate = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd');
  
  // 昨日の予定を検索
  const dateFinder = SHEET_DATA.createTextFinder(theDate);
  const ranges = dateFinder.findAll();

  // 昨日の予定がなければ、処理を終了
  if(!ranges[0]){
    return;
  }

  // 昨日の予定を非表示
  for (i in ranges) {
    // 昨日の予定を非表示
    let thisRow = ranges[i].getRow()
    // SHEET_DATA.showRows(thisRow, 1); // 再表示 https://caymezon.com/gas-row-col-hide-show/#toc12
    SHEET_DATA.hideRows(thisRow, 1); // 非表示
  }

}

貼り付けたら、「実行」というボタンを押してください。

スクリーンショット 2022-09-12 5.32.56.png

スプレッドシートの「日付」のカラムの昨日の日付のものが全て、非表示になれば成功です。

参考資料

Udemy

GASの基礎講座などを出しています。

ストアカ

個別レッスンもやっています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1