指定したセル範囲のデータを全て取得するには Sheet クラスの getValues メソッドを用いる。
【構文】
RangeObject.getValues()
戻り値 : 配列型。行、列の二次元配列を返す。インデックスは行、列ともゼロから始まる。
まず、下図のように、値の入力されている全ての範囲を取得するサンプルコードを以下に記す :
【例1】
function GetValues1() {
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = objSpreadsheet.getActiveSheet();
var objRange = objSheet.getDataRange();
var varValues = objRange.getValues();
Browser.msgBox(varValues[2][3]);
}
例1 の場合はセル A1 の値が配列のインデックス (0, 0) に格納されているので、インデックス
(2, 3) は 3 行 4 列、すなわち、セル D3 の値ということになるので、メッセージボックスに表示
される値は「d3」。
次に、下図のように B3:D6 の範囲を対象としたサンプルを以下の示す :
【例2】
function GetValues2() {
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = objSpreadsheet.getActiveSheet();
var objRange = objSheet.getRange("B3:D6");
var varValues = objRange.getValues();
Browser.msgBox(varValues[2][1])
}
この例の場合は、セル B3 の値が配列のインデックス (0, 0) に格納されるので、インデックス
(2, 1) はセル B3 を起点にして 3 行 2 列、すなわち、セル C5 になるので、表示される値は
「c5」となる。
0 件のコメント:
コメントを投稿