GASでGoogleスプレッドシートのセルの値、行数や列数を取得したり、セルに値を入力したりする基本:Excel VBAプログラマーのためのGoogle Apps Script入門(2)(2/2 ページ)
Googleが提供するGoogle Apps Script(GAS)のプログラミングで、Google Apps(主にスプレッドシート)を操作する方法を解説していく連載。今回は、スプレッドシートのオブジェクトを整理し、セル操作に関する基本的なメソッドの使い方を紹介する。
指定したセルに値を入力するsetValueメソッド
続いて、セルに値を入力してみよう。
指定したセルに値を入力するsetValueメソッドの書式
var {戻り値}={Rangeオブジェクト}.setValue({入力値});
値を入力するにはリスト2のように記述する。
function mysetValueFunction() { var sheet=SpreadsheetApp.getActiveSheet(); sheet.getRange(11,1).setValue("松尾芭蕉"); }
11行目の1列目に「松尾芭蕉」を追加した(3行目)。実行結果は図4のようになるだろう。
Rangeから1つのセルを相対位置で取得するgetCellメソッド
Rangeオブジェクトには、さらに相対位置で1つのセルを選択できるgetCellメソッドがある。
Rangeから1つのセルを相対位置で取得するgetCellメソッドの書式
var {Rangeオブジェクト}={Rangeオブジェクト}.getCell({行番号},{列番号})
{行番号}{列番号}の指定は相対位置となる。例えば、図1から「猿飛佐助」の値を取得するには、リスト3のように書く。
function mygetCellFunction() { var sheet=SpreadsheetApp.getActiveSheet(); var range=sheet.getRange("A2:A10"); var cell=range.getCell(5,1).getValue(); Browser.msgBox(cell); }
選択している範囲は「A2:A10」であるため、「猿飛佐助」のセルは「A2」を起点として5行目に当たるということだ(4行目)。
実行すると、図5のように表示される。
ここでは、「5,1」のように指定したが、この部分を変数にし、後の連載で紹介するfor文などで、変数を変えていくことで値の取得や入力を一気に済ますことができるので、覚えておいてほしい。
行数や列数を取得する
続いて、図6のような表を作成する。この表から行数や列数を取得する方法を解説する。行数や列数を取得できると、先ほど触れたfor文を使うときに便利なので、ぜひ覚えておいてほしい。
行数を取得するgetNumRowsメソッド
Rangeから行数を取得するgetNumRowsメソッドの書式
var {戻り値}={Rangeオブジェクト}.getNumRows()
図6から行数を取得するにはリスト4のように記述する
function mygetNumRowsFunction() { var sheet=SpreadsheetApp.getActiveSheet(); var selectRange=sheet.getRange("A1:B11"); var num=selectRange.getNumRows(); Browser.msgBox(num); }
選択された範囲をA1〜B11と指定して(3行目)、getNumRowsで行数を取得している(4行目)。
実行すると図7のようになる。
列数を取得するgetNumColumnsメソッド
Rangeから列数を取得するgetNumColumnsメソッドの書式
var {戻り値}={Rangeオブジェクト}.getNumColumns()
リスト4の「getNumRows()」を「getNumColumns()」と書き換えて実行すると、図8のように表示される。
次回は、セルのさまざまな表現方法を学ぶ
今回は、ここまでで終わりだ。次回は、さらにセルについて扱う。セルの背景色や文字の色、サイズを変更したり、データを3桁区切りで表示したり、けい線を引いたり、セルを結合したりするなど、いろいろな「書式」(ここでは表現方法のこと)の設定について解説していくので、お楽しみに。
参考文献
- 『Google Apps Scriptビギナーズガイド Kindle版』(掌田津耶乃 著、Tuyano-Project刊)
著者プロフィール
PROJECT KySS 薬師寺 国安(やくしじ くにやす)
1950年生まれ。フリーVBプログラマー。高級婦人服メーカーの事務職に在職中、趣味でVBやActiveXに取り組み、記事を執筆。2003年よりフリー。.NETやRIAに関する執筆多数。Windowsストアアプリも多数公開中(約270本)。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
PROJECT KySSは、1997年に薬師寺聖と結成したコラボレーション・ユニット
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Excelマクロ/VBAリファレンス用途別・キーワード別一覧超まとめ
- 初心者のためのJavaScript入門
- ピボットテーブルとは何か──「そもそも、何をする機能か」を理解する
Excelを通じて「ピボットテーブル」の基礎を学び、データ分析を実践するまでを習得する本連載。初回はピボットテーブルの基礎と、「どんなことができるのか」を解説する。