ひよっこの備忘録

積み重ねて山となる

SlackとGASの連携をして出退勤の時刻をGoogleスプレッドシートに保存する#2

出勤、退勤のメッセージを受け取ったら時刻をスプレッドシートに打刻するようにしていきます。

スプレッドシートの開き方

スプレッドシートの開き方についてはこことかここ参照

qiita.com

qiita.com

特定のシートの開き方

スプレッドシートを開いたら、打刻したい社員のシートを開く。
これは、スプレッドシートの開き方の項目に貼ったリンクを見ればわかるハズ。
ここだが、社員分のシートを手動で作成するのはアホらしいので、Slackの本名で自動的にシートを作成するようにした。

// 本名でシートを検索して、無かったら作成
var sheet = ss.getSheetByName(real_name);
if(sheet == null){
    sheet = createSheet(real_name);
}

/**
 * sheet_name の名前でスプレッドシートを作成する.
 * 尚、予め TEMPLATE_SHEET_NAMEの定数と同じ名前のシートを作成しておくこと.
 * 
 * @param {string} sheet_name シート名
 * @return {Sheet} 新規作成したシートのオブジェクト
 */
var createSheet = function(sheet_name){
  // テンプレートのシートをコピーする
  var templateSheet = ss.getSheetByName(TEMPLATE_SHEET_NAME);
  sheet = templateSheet.copyTo(ss);
  // シート名をsheet_nameに変更
  return sheet.setName(sheet_name);
}

セルの値の取得と書き込み

この辺参照。

qiita.com

qiita.com

uxmilk.jp

最後に

軽く使い方を見たら、GASの公式リファレンス読むのが一番早い。

developers.google.com