[GAS] スプレッドシートの値、取得・書き込みを行う
はじめに
GASとは「Google Application Script」の頭文字をとったもので、Googleが提供している各サービスをこのスクリプトを使い、プログラムする事でこれまでになかった機能を作ったり、作業を簡易化する事が出来る様になります。
よく使われるサービスとしては、GoogleDrive ・ Gmail等でしょうか。これらをGASを使ってプログラムを組む事で連携させる事が可能になります。
JavaScriptをベースとしたプログラミング言語で、JavaScriptと言ってもバージョンが幾つかあり、現時点(2019年)でのネイティブはES6ぐらいでの開発が一般的かと思います。
GASではJavaScript1.6を採用している様ですので、使える構文や仕様が限られますが、十分かと思います。また、TypeScriptからコンパイルする事がオススメされています。
スプレッドシートの基本操作
GAS入門としてはスプレッドシート(Microsoft Excelみたいな物)のコントロールです。
スプレッドシートの準備
新規スプレッドシート作成
Google Driveで任意のディレクトリで新規スプレッドシートを作成します。
名前も任意の名前にします。この作成したスプレッドシートを操作するスクリプトを作成して行きます。
ボタンを設置する
GASではトリガー(Event)があり、スプレッドシートの変更や保存等を感知して発火する仕組みがあるのですが、今回はボタンをクリックをトリガーにしてスクリプトを実行して行きます。
ツールバーから[挿入]→[図形描画]をクリックしてエディターを開きます。
エディターでボタンの様な図形を作成し、スプレッドシートに貼り付けたら準備完了です。
スクリプトを作成する
ツールバーの[ツール]→[スクリプトエディタ]を開きます。
このスプレッドシートに関連付けられたスクリプトが自動的に生成されます。
トリガーを設定する
スクリプトエディタを開くと、初期状態で空のmyFunction()
関数があります。この関数にトリガーを設定します。
スプレッドシートに戻り、図形のメニューからスクリプト作成を開きます。
これでスクリプトの用意とトリガーの設定が終わりました。 次はスクリプトエディタからスクリプトを記述して行くだけです。
スクリプトで取得・書き込み
指定のセルを取得する 1
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheetByName("シート1");
var data = sheet.getRange("A2").getValue();
Logger.log(data); // りんご
}
指定のセルを取得する 2
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheetByName("シート1");
var data = sheet.getRange(2, 1).getValue();
Logger.log(data); // りんご
}
指定範囲のセルを全て取得 1
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheetByName("シート1");
var data = sheet.getRange("A2:B4").getValues();
Logger.log(data); //array [[りんご, 10.0], [いちご, 16.0], [ぶどう, 24.0]]
}
指定範囲のセルを全て取得 2
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheetByName("シート1");
var data = sheet.getRange(2, 1, 3, 2).getValues();
Logger.log(data); //array [[りんご, 10.0], [いちご, 16.0], [ぶどう, 24.0]]
}
指定セルに値を挿入する
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheetByName("シート1");
sheet.getRange("A2").setValue("林檎");
}
コメント
コメントを投稿