スプレッドシートと連携!claspでGAS開発を効率化する方法


claspとは何か?
まずは、claspについて説明しよう。
claspとは、
Command Line Apps Script Projects
の略だ。単刀直入にいえば、
ローカル環境でGASを開発するためのコマンドラインツール
ってわけだな。
Google の開発者が中心となって開発・公開しているオープンソースだから、まあつまり、Google公式の CLI ツールさ。
なぜclaspを使うのか?
GASをブラウザのエディタで直接編集するのも悪くはない。
だが、claspを使うことで、以下のような利点があるぞ。
- バージョン管理が容易になる
- 複数のファイルを扱いやすい
- エディタの選択肢が広がる
claspのインストールから始める
claspを使うためには、まずNode.jsをインストールしておく必要がある。その上でclaspをインストールする流れだ。
Node.jsのインストール
最初に、公式サイトからNode.jsをダウンロードし、インストールしよう。
Node.jsにはnpmというパッケージマネージャが含まれているので、それを利用する。
claspのインストール
claspをインストールするコマンドは以下の通りだ。
npm install -g @google/clasp
このコマンドを実行すると、claspがグローバルにインストールされる。これで準備が整った。
スプレッドシートとGASを連携する
さて、次はGASスクリプトをスプレッドシートにデプロイして連携する方法についてだ。
プロジェクトの準備
まず、claspを使って新しいプロジェクトを作成しよう。
clasp create --type standalone --title "Spreadsheet Automation"
このコマンドで、新しいGASプロジェクトが作成される。
スプレッドシートへのアクセス
次に、スプレッドシートのデータにアクセスするための簡単なGASコードを書いてみよう。
function readData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
Logger.log(data);
}
このスクリプトでアクティブなスプレッドシートの全データを取得してログに出力する。
スクリプトをデプロイ・実行
claspを使用してスクリプトをデプロイし、実行してスプレッドシートとの連携を確認しよう。
clasp push
clasp run readData
「clasp push」でGoogleのサーバーにスクリプトをアップロードし、「clasp run」でスクリプトを実行する。

まとめ:claspで効率的にGAS開発を進める
- claspを使ってローカル環境でGASを開発しよう。
- バージョン管理や複雑なプロジェクトに強い。
- スプレッドシートとの連携も容易に行える。

練習問題
claspで新しく「スプレッドシートと連携する」プロジェクトを作り、スプレッドシートのデータを「シート名」と共に取得しログに出力するスクリプトを書いてみよう。
解答・解説
新しいプロジェクトを作成し、以下のスクリプトを作成・実行します。
function logSheetData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const sheetName = sheet.getName();
const data = sheet.getDataRange().getValues();
Logger.log("Sheet Name: " + sheetName);
Logger.log(data);
}
このスクリプトは、アクティブなシートの「シート名」を取得し、シート内の全データをログに出力する。getName()メソッドでシート名を取得し、getDataRange().getValues()でデータを二次元配列として取得できる。