スプレッドシートの値をSlackで通知したいと思ったが、そもそも値の取得をするために色々調べていたので残しておく。
なお今回はスプレッドシートへの書き込みは行なっておらず、値の取得のみになる。
GASでスプレッドシートを扱う時に使用するクラス
GASがJavascriptの文法であり、特にスプレッドシートを操作する際には下記のクラスを操作する。
(下記はクラス名)
SpreadSheet
Sheet
Range
Object
(Integer / String / Boolean)
SpreadSheet
クラスからもSheet
クラスからもRange
クラスを取得することができるので、実行したい処理に合わせてRange
クラスを取得すれば良い。
スプレッドシートで値の取得
// 操作シートを取得する SpreadSheetクラスを取得
var action_sheet = SpreadsheetApp.getActiveSpreadsheet();
// スプレッドシート名を取得
action_sheet.getName()
// 操作しているシート名を取得
action_sheet.getSheetName()
// 指定したシートを取得 Sheetクラスを取得
action_sheet.getSheetByName(sheet_name)
Sheetクラスを取得したあとは更にRangeクラスを取得して入力された値などを取得することになるかと思う。
Rangeクラスの取得の仕方も複数ある。
// Sheetクラスを取得
var target = action_sheet.getSheetByName(sheet_name)
// アクティブセルを取得する Rangeを取得
var a_cell = target.getActiveCell();
// 指定した列と行のセルを取得する Rangeを取得
var b_cell = target.getRange(row_num, col_num);
Rangeクラスではセルの行番号やカラムの位置などを取得できる
// セルの番号を取得 intを取得
a_cell.getColumn();
// セルの番号を取得 intを取得
a_cell.getRow();
// セルの値を取得
a_cell.getValue();