■スプレッドシート接続
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet();
■値取得
・1つのセルの値を取得
var val = sheet.getRange(行番号, 列番号).getValue();.getRange()に行、列番号を指定してセルを取得
さらに.getValue()で値を取得
・範囲を指定して取得
var data = sheet.getRange(行番号, 列番号, 行数, 列数).getValues(); var val = data[行番号-1][列番号-1];.getRange()にさらに行数、列数で範囲を指定
.getValues()で値を二次元配列で取得
[ ][ ]でインデックスを指定して値を取り出す
※配列なのでインデックスは0始まり
var data = sheet.getRange(行番号, 列番号, 行数, 列数).getValues();
var val;
for(let i=0; i<data.length; i++){
for(var j=0; j<data[i].length; j++){
val = data[i][j];
}
}
for文で全ての値を取り出す・シート内の全ての値を取得
var data = sheet.getDataRange().getValues(); var val = data[行番号-1][列番号-1];.getDataRange()とすると値が入っている範囲全てを取得する
.getValues()からは上記と同様
■値記入
・1つのセルに値を記入
sheet.getRange(行番号, 列番号).setValue(値);.getRange()に行、列番号を指定してセルを取得
.setValue()で値を指定して記入
・範囲を指定して記入
sheet.getRange(行番号, 列番号, 行数, 列数).setValues([ [値,値,・・・], [値,値,・・・], ・・・ ]); sheet.getRange(行番号, 列番号, 行数, 列数).setValue(値);.getRange()にさらに行数、列数で範囲を指定
.setValues()に二次元配列を指定する
.setValue()を使うと範囲全てに同じ値が記入される
0 件のコメント:
コメントを投稿