GASのいろんなメモ
GASの個人的なメモです。
扱うことが少ないので、備忘録的に要点をまとめます。
随時更新します。
ログ
ログを表示させる
Logger.log(XXXX);
スプレッドシート操作
スプレッドシートに関する操作について。
スプレッドシートの取得
アクティブなスプレッドシートを取得
アクティブなスプレッドとは、スクリプトが紐づいているスプレッドシート。
以下で取得できる。
SpreadSheetApp.getActiveSpreadSheet()
↑ここで出てきたSpreadSheetAppとは?
スプレッドシートのグローバルオブジェクト。ルートオブジェクト。
シートの取得
シート名を指定してシートを取得
スプレッドシートのオブジェクト.getSheetByName('シート名')
ただし、シート名はユーザーが変更できるので注意が必要。
スプレッドシートに含まれるシートが一つの場合は次の方法を使う。
アクティブなシートを取得
スプレッドシートのオブジェクト.getActiveSheet()
//もしくはこれ↓
SpreadsheetApp.getActiveSheet()
シート内のセルやセル範囲の取得
アドレスを指定してセル範囲を取得する
ここでいうアドレスとは、セルのアドレス。例えば、A10とか[F10:I13]とか。
Sheetオブジェクト.getRange(アドレス)
// 例
getRange('C3')
getRange('B2:C3')
行番号と列番号を指定して、取得
// 引数は数値型
Sheetオブジェクト.getRange(行番号, 列番号)
// 例
getRange(2,2) //B2を取得
getRange(2,2,3,3) //B2:C3を取得
A1の場合は、1行目の1列目。
単体セルの取得
Rangeオブジェクト.getValue()
複数セルの取得
複数セル = 範囲を取得する場合は、返り値は2次元配列となる。
// sを忘れない
Rangeオブジェクト.getValues()
// 例
Sheetオブジェクト.getRange('A2:C3')
Rangeオブジェクト.getValues()
// ↑を実行すると返り値はこうなる。
[
[A2セルの値, B2セルの値, C2セルの値],
[A3セルの値, B3セルの値, C3セルの値]
]
シートの最終行を求めるgetLastRow
for文まわして取得するときに便利なgetLastRowメソッド
Sheetオブジェクト.getLastRow()