①【GAS】基本的な構成要素 アクティブなシートを取得

GASを扱う上で、シートから値の取得が必要になってくるので、ここでまとめます。

基本的な構成要素(オブジェクト構成)を説明。

GASでは以下のオブジェクトを用意しており、スプレを操作するにはそのオブジェクトを取得する必要があります。

1. SpreadSheetAplication

Googleドキュメントのアプリケーションのこと。
SpreadsheetAppというオブジェクト。

2.SpreadSheet

スプレッドシートのドキュメント本体のこと。
Spreadsheetというオブジェクト。

3.Sheet

スプレ内のそれぞれのシートは「Sheet」というオブジェクト。

4.Range

セルを取得する際は、Rangeというオブジェクトで、範囲を示し、取得する。
他と違い、セルの値の取得には、範囲、という部分を意識する必要がある。

オブジェクト取得の基本

GASで値を取得する方法として、オブジェクトを取得する


スプレッドシートアプリケーションのオブジェクトを取得する場合

SpreadsheetApp  から始まります。
ここから、用意されているメソッドを呼び出すことで、その他の要素を取得できる。

1.いまアクティブなスプレッドシートを取得

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

2.今アクティブなシートを取得

var sheet = SpreadsheetApp.getActiveSheet();

3.対象のセルの範囲を取得

シートにあるセルを扱うには「Range」という範囲を示すオブジェクトを利用すればよい。
やり方は二つ
ひとつのセルの値を取得

var range = sheet.getRange(行番号,列番号);
例)var range = sheet.getRange(1,1);//A1のセルを取得

var range = SpreadsheetApp.getRange(レンジの指定);
例)var range = SpreadsheetApp.getRange("A1");//A1のセルを取得

セルの範囲を取得する。

getRange(row, column , numrows , numcolumns)
var range = sheet.getRange(1, 1, 10,2);//セルA1:B10を取得

4.値を得る

#ひとつのセルの値を得る
var value = range.getValue();

#指定した範囲のセル値を配列で得る
var value = range.getValues();

#値を設定する※あんま使わないかも
var value = range.setValue(値);

example

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();//現在のスプレを取得
  var sheet = spreadsheet.getActiveSheet();//現在のシートを取得
 
  var range = sheet.getRange(1,1,10, 2);//セルA1:B 10を取得
   var value = range.getValues();
   Logger.log(value);
}


range.getValues()で取得した値は、 Object[xxx],[xxx] 指定範囲の二次元配列となる。
↓こうなっていたら
f:id:lekam:20210906031016p:plain
こう取得する。
f:id:lekam:20210906031003p:plain


これで、スプレットシートとシートとセルから、値を取り出す操作を学びました。