連載
» 2017年02月09日 05時00分 公開

GASでGoogleスプレッドシートのセルの値、行数や列数を取得したり、セルに値を入力したりする基本Excel VBAプログラマーのためのGoogle Apps Script入門(2)(2/2 ページ)

[薬師寺国安,PROJECT KySS]
前のページへ 1|2       

指定したセルに値を入力するsetValueメソッド

 続いて、セルに値を入力してみよう。

指定したセルに値を入力するsetValueメソッドの書式

var {戻り値}={Rangeオブジェクト}.setValue({入力値});


 値を入力するにはリスト2のように記述する。

function mysetValueFunction() {
  var sheet=SpreadsheetApp.getActiveSheet();
  sheet.getRange(11,1).setValue("松尾芭蕉");
}
リスト2 値の入力コード

 11行目の1列目に「松尾芭蕉」を追加した(3行目)。実行結果は図4のようになるだろう。

図4 1列目の11行目に「松尾芭蕉」が追加された

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);
}
リスト3 「猿飛佐助」の値を取得するコード

 選択している範囲は「A2:A10」であるため、「猿飛佐助」のセルは「A2」を起点として5行目に当たるということだ(4行目)。

 実行すると、図5のように表示される。

図5 「猿飛佐助」のデータを取得した

 ここでは、「5,1」のように指定したが、この部分を変数にし、後の連載で紹介するfor文などで、変数を変えていくことで値の取得や入力を一気に済ますことができるので、覚えておいてほしい。

行数や列数を取得する

 続いて、図6のような表を作成する。この表から行数や列数を取得する方法を解説する。行数や列数を取得できると、先ほど触れたfor文を使うときに便利なので、ぜひ覚えておいてほしい。

図6 氏名と年齢の表

行数を取得する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);
}
リスト4 行数を取得するコード

 選択された範囲をA1〜B11と指定して(3行目)、getNumRowsで行数を取得している(4行目)。

 実行すると図7のようになる。

図7 行数を取得した

列数を取得するgetNumColumnsメソッド

Rangeから列数を取得するgetNumColumnsメソッドの書式

var {戻り値}={Rangeオブジェクト}.getNumColumns()


 リスト4の「getNumRows()」を「getNumColumns()」と書き換えて実行すると、図8のように表示される。

図8 列数を取得した

次回は、セルのさまざまな表現方法を学ぶ

 今回は、ここまでで終わりだ。次回は、さらにセルについて扱う。セルの背景色や文字の色、サイズを変更したり、データを3桁区切りで表示したり、けい線を引いたり、セルを結合したりするなど、いろいろな「書式」(ここでは表現方法のこと)の設定について解説していくので、お楽しみに。

参考文献

著者プロフィール

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年に薬師寺聖と結成したコラボレーション・ユニット


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。