Google Spreadsheetは、オンラインで表計算を行うことができる便利なツールです。しかし、単にデータを入力するだけではなく、Google Apps Script(GAS)というプログラミング言語を使って、さまざまな処理を自動化したり、カスタマイズしたりすることもできます。
GASは、JavaScriptに似た構文を持つスクリプト言語で、Googleのサービスと連携して動作します。GASを使うと、Google Spreadsheetのデータを読み書きしたり、メールを送信したり、カレンダーを操作したり、Webアプリケーションを作成したりすることができます。
この記事では、GASの基本的な関数の一つであるgetActiveCell関数について解説します。getActiveCell関数は、Google Spreadsheetで現在選択されているセルを取得するために使います。この関数を使えば、選択したセルの値や位置を取得したり、別のセルにコピーしたり、条件に応じて色を変えたりすることができます。
- getActiveCell関数の使い方とプログラムサンプル
- getActiveCell関数の引数と戻り値の解説
- getActiveCell関数の公式ドキュメントのURL
getActiveCell関数の使い方とプログラムサンプル
getActiveCell関数は、Spreadsheetクラスのメソッドとして定義されています。Spreadsheetクラスは、Google Spreadsheetのドキュメント全体を表すクラスで、getActiveSpreadsheet関数で取得できます。getActiveSpreadsheet関数は、現在開いているスプレッドシートを返します。
getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。Rangeクラスは、Google Spreadsheetのセルやセルの範囲を表すクラスで、値や位置、色などのプロパティやメソッドを持ちます。
以下は、getActiveCell関数を使って、現在のセルの値を取得し、別のセルにコピーするプログラムの例です。
function copyActiveCell() {
// 現在開いているスプレッドシートを取得
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// 現在のセルを取得
var activeCell = spreadsheet.getActiveCell();
// 現在のセルの値を取得
var value = activeCell.getValue();
// 現在のセルの右隣のセルを取得
var nextCell = activeCell.offset(0, 1);
// 右隣のセルに値をコピー
nextCell.setValue(value);
}
このプログラムを実行すると、Google Spreadsheetで選択したセルの値が、その右隣のセルにコピーされます。
getActiveCell関数の引数と戻り値の解説
getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。
Rangeクラスのオブジェクトは、セルやセルの範囲を表すオブジェクトで、以下のようなプロパティやメソッドを持ちます。
- getValue(): セルの値を取得する
- setValue(value): セルに値を設定する
- getA1Notation(): セルの位置をA1形式で取得する
- setBackground(color): セルの背景色を設定する
- getBackground(): セルの背景色を取得する
- offset(rowOffset, columnOffset): セルから相対的にずらした位置のセルを取得する
- getSheet(): セルが属するシートを取得する
詳細は、公式ドキュメントを参照してください。
まとめ
この記事では、GASのgetActiveCell関数について解説しました。getActiveCell関数は、Google Spreadsheetで現在選択されているセルを取得するために使います。この関数を使えば、選択したセルの値や位置を取得したり、別のセルにコピーしたり、条件に応じて色を変えたりすることができます。
getActiveCell関数は、引数を取りません。戻り値として、Rangeクラスのオブジェクトを返します。Rangeクラスは、Google Spreadsheetのセルやセルの範囲を表すクラスで、値や位置、色などのプロパティやメソッドを持ちます。
getActiveCell関数の公式ドキュメントは、以下のURLで確認できます。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ja#getactivecell
このブログでは断片的な説明になってしまっていますが、本書は幅広いGASの内容が網羅的に学べる本です。イチから学びたい方は是非読んでみてください。
すでにGASをある程度マスターした方にも辞書的に手元に置いておくと便利です。