教えて!GAS!

GASの基礎知識・書き方について紹介します。

Google Apps ScriptでのSpreadsheetサービスについて

はじめに

Spreadsheetサービスは、Googleスプレッドシートを操作するための強力なツールです。プログラムを使ってデータを追加したり、セルの書式を変更したり、スプレッドシート全体を自動化したりすることができます。以下では、Spreadsheetサービスの基本的な使い方と、いくつかの便利な機能を紹介します。

Spreadsheetサービスとは

Spreadsheetサービスは、Googleスプレッドシートをプログラムで操作するための機能が集まったサービスです。このサービスを使うと、スプレッドシートにアクセスして、セルの値を読み書きしたり、シートを追加したり、フィルターや並べ替えを行うことができます。

Spreadsheetサービスを利用

GASでSpreadsheetサービスを利用するには、次のようにコードを記述します。

// SpreadsheetAppを使ってスプレッドシートにアクセスする
let スプレッドシート = SpreadsheetApp.getActiveSpreadsheet();

このコードを使うと、現在開いているスプレッドシートにアクセスできます。

セルにデータを書き込む

例えば、セルにデータを書き込みたい場合、次のようにします。

let シート = スプレッドシート.getActiveSheet(); // 現在のシートを取得
シート.getRange("A1").setValue("こんにちは"); // A1セルにデータを書き込む

上記のコードは、A1 セルに「こんにちは」という文字列を入力します。

データを読み取る

例えば、セルからデータを読み取る場合、次のようにします。

let 値 = シート.getRange("A1").getValue(); // A1セルからデータを取得
Logger.log(値); // 取得したデータをログに表示

このコードは、A1 セルの内容を取得し、それをログに表示します。Logger.log はデバッグの際に非常に役立つので覚えておきましょう。

シートを追加する

新しいシートを追加したい場合は、次のようにします。

let 新しいシート = スプレッドシート.insertSheet("新しいシート");

このコードは、「新しいシート」という名前のシートをスプレッドシートに追加します。

条件付き書式を設定する

Spreadsheetサービスでは、条件付き書式を設定することもできます。例えば、セルの値が特定の値以上の場合に背景色を変更する場合は次のようにします。

let 範囲 = シート.getRange("A1:A10");
let ルール = SpreadsheetApp.newConditionalFormatRule()
    .whenNumberGreaterThan(50)
    .setBackground("#FF0000")
    .setRanges([範囲])
    .build();
let ルール一覧 = シート.getConditionalFormatRules();
ルール一覧.push(ルール);
シート.setConditionalFormatRules(ルール一覧);

このコードは、A1 から A10 の範囲に対して、セルの値が 50 以上であれば背景色を赤に設定します。

おわりに

Spreadsheetサービスを使えば、スプレッドシートをより効果的に、そして自動化することができます。