【GAS】スプレッドシートの読み込みと書き込み【getValue, setValue】
当ページのリンクには広告が含まれています。
スプレッドシートのセルの操作ができれば、GASで出来ることの幅はかなり広がります。
今回はスプレッドシートの読み込みと書き込みをする方法をご紹介します。
目次
初期設定
まずは初期設定として、シートの指定と範囲の指定を行います。
スプレッドシートはサンプルとして、こちらを用います。
スプレッドシートの指定
SpreadsheetApp.getActiveSpreadsheet()
const ss = SpreadsheetApp.getActiveSpreadsheet();
シートの指定
getSheetByName()
次にシートを指定します。ここではシート名を使用しています。
const sheet = ss.getSheetByName('シート1');
セル範囲の指定
getRange('A1')
やgetRange('A1:B2')
のように指定します。
https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=ja#getrangerow,-column
値の取得
単体
getValue()
let value = sheet.getRange('A1').getValue();
実行すると
とA1
の値が取得できています。
複数
getValues()
複数の場合はs
がついてgetValues()
になります。
例えば、図のように値を取得したい場合にはこうなります。
let values = sheet.getRange('A1:B2').getValues();
下記のようにリスト形式で出力されます。
値を書き込み
読み込みができれば書き込みも簡単です。範囲指定は同じなので、引数として値をリスト形式で渡します。
単体
setValue()
値をsetValue
に渡します。
function setCell() {
let insert_value = ['★']
sheet.getRange('A1').setValue(insert_value);
}
値が更新されていますね。
複数
setValues()
複数になるとちょっと注意が必要です。
値を行ごとにリスト形式にします。例えば[['A','B']['C',''D]]
のようにします。
function setCells() {
let insert_values = [['A','B']['C','D']]
let values = sheet.getRange('A1:B2').setValue(insert_values);
}
実行すると無事変わりました。
コメント