指定した行以降を削除するコードの例です
- .getMaxRows() でシート内の最終行(データの有無は不問)を取得
- .deleteRows(rowPosition, howMany) でどの行から何行削除するかを決めて削除
コード.gs
function delete_rows(){ var sh_id = SHEET_ID; var sh = get_sheet(sh_id); var max_row = sh.getMaxRows(); var start_row = 3; var num_row = max_row - start_row + 1; sh.deleteRows(start_row, num_row); } function get_sheet(sh_id) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var shs = ss.getSheets(); for (var i = 0; i < shs.length; i++) { if (shs[i].getSheetId() == sh_id) { break; } } var sh = ss.getSheets()[i]; return sh; } |
意訳この機能がやること シートIDを指定して get_sheet()に渡してシートを取得して シートの最終行を取得して(データの有無は関係なく) 削除する先頭の行を指定して 最終行から削除する先頭の行を引いて+1行(削除する先頭の行も含める) 削除する行の範囲を指定して削除する この機能がやること 現在開いているスプレッドシートを取得して シートをすべて取得して シートの数だけ以下を繰り返す シートのIDが渡されたシートIDなら for文から抜ける 対象のシートを取得して 返す |
参考
getMaxRows()
https://developers.google.com/apps-script/reference/spreadsheet/sheet#getMaxRows()
deleteRows(rowPosition, howMany)
https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRows(Integer,Integer)
getMaxRows()
https://developers.google.com/apps-script/reference/spreadsheet/sheet#getMaxRows()
deleteRows(rowPosition, howMany)
https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRows(Integer,Integer)