本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
Sheetクラス
Sheetクラスとは
シートを操作する機能を提供するクラス
*Sheetクラスの主なメンバーの図はさすがに作るのがきびしいので、参考資料の本を見ていただくか、ネットで調べください。
ちなみにこちらで書いてありました。
https://hirachin.com/post-4006/
お試し
function toshiki4() {
const sheet = SpreadsheetApp.getActiveSheet();
console.log(sheet.getIndex());
console.log(sheet.getName());
console.log(sheet.getParent().getName());
console.log(sheet.isSheetHidden());
}
セル範囲を収得する
セル範囲を収得するメソッドはいくつかある。
その中でもスタンダードなのが、getRangeメソッド
セル範囲のアドレスを文字列で渡し、その範囲を取得する方法
sheetオブジェクト.getRange(アドレス)
他のパターンで行番号、列番号、行数、列数を組み合わせてセル範囲を指定する方法
sheetオブジェクト.getRange(行番号, 列番号, [行数, 列数])
お試し
function toshiki4() {
const sheet = SpreadsheetApp.getActiveSheet();
console.log(sheet.getRange('B2').getA1Notation());
console.log(sheet.getRange('D4:F6').getA1Notation());
console.log(sheet.getRange('2:2').getA1Notation());
console.log(sheet.getRange('B:B').getA1Notation());
console.log(sheet.getRange(4, 4).getA1Notation());
console.log(sheet.getRange(4, 4, 3).getA1Notation());
console.log(sheet.getRange(4, 4, 3, 3).getA1Notation());
}
シートのデータ範囲を取得する
アドレスや行番号、列番号が分からない場合、変化する場合のセル範囲を収得する方法
シート上のデータが存在する範囲を自動で判別して収得する
getDataRangeメソッド
構文
sheetオブジェクト.getDataRange();
セル範囲ではなく、データが存在する最後の行番号または列番号を収得する。
getLastRowメソッド シートのデータがある最後の行番号を返す
sheetオブジェクト.getLastRow();
getLastColumnメソッド シートのデータがある最後の列番号を返す
sheetオブジェクト.getLastColumn();
お試し
function toshiki4() {
const sheet = SpreadsheetApp.getActiveSheet();
console.log(sheet.getDataRange().getA1Notation());
const row = sheet.getLastRow();
console.log(row);
const column = sheet.getLastColumn();
console.log(column);
const range = sheet.getRange(1, 1, row, column);
console.log(range.getA1Notation());
}
1行、1列目などを空白行にしてシートを構成するケースがありますが、それだとgetDataRangeメソッドの効果は低下するようです。
シートに行を追加する
シートを1行1列目から表を構成するとappendRowメソッドを使えるメリットがでます。
appendRowメソッドは引数として与えた配列をそのままシート最終の次の行に使いするメソッドです。
構文
Sheetオブジェクト.appendRow(配列)
お試し
スプレッドシートにデータを入れてから試してください
function toshiki4() {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(['アッキー', 9, 'リンゴ']);
sheet.appendRow([null, '=sum(B2:B4)'])
}
シートをクリアする
シートをクリアする方法
cleartentsメソッド
コンテンツのみ、つまり入力されている値や数式などの内容のみをクリアする
構文
Sheetオブジェクト.cleartents()
clearFormatsメソッド
背景、フォント、罫線などの書式のみをクリアする
構文
Sheetオブジェクト.clearFormats()
clearメソッド
上の両方をクリアする
構文
Sheetオブジェクト.clear()