前回の続き
前回までで、GASでコードを書いて実行する方法がわかった。
今回はセル操作
今回は、Spreadsheetの基本的な使い方を見ておく。
セルの取得=範囲の取得
EXCELでも同じ。知っていると思うけど知らないと混乱するので注意。
セルを取得するとは、範囲=1の選択範囲を作るということ。
範囲を選択する
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B5:B6"); g.activate();
範囲を選択するのに1つだけ選択したら、セルを選択。
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B6"); g.activate();
セルを取得
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B5"); rg.activate();
セルの値を取得
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B5"); rg.activate(); let val = rg.getValue(); console.log(val)
セルの書式(表示形式)を取得
数値は、表示形式が重要なので、数値の表示形式を見ておく。
let fmt = rg.getNumberFormat(); console.log(fmt)
日付形式 yyyy/MM/dd
日付と時刻 yyyy/MM/dd H:mm:ss
時刻 HH:mm:ss
セルの値を更新
セルの値を更新して、数字の表示形式を入れていく。
rg.setValue('2021年6月4日'); rg.setNumberFormat('yyyy/MM/dd');
セルに背景を設定
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B5"); rg.setBackgroundRGB( 250,120,120 );
セルの背景色を解除
背景色を解除するのには、setBackgroundで null を設定する。 クリアでは、値ごとすべて解除される。
let sps = SpreadsheetApp.getActiveSpreadsheet(); let sht = sps.getSheets()[0]; let rg = sht.getRange("B5"); rg.setBackground(null);
セルの枠線・ボーダーを設定
ボーダーは、範囲に対して設定する引数の順番に注意、
上下左右を設定する
let rg = sht.getRange("B5"); rg.setBorder(true, true, true, true, false, false);
内側も含めてすべて設定する。
すべてを true にすると、全部設定できる。
rg.setBorder(true, true, true, true, true, true);
セルの枠線(ボーダー)をすべて解除
すべてを解除するには、false を設定する。
rg.setBorder(false,false,false,false,false,false);
変更しない=null を設定する。
下だけ変更したいときのように、他を変更したくないときは、 null を渡す。
rg.setBorder(null,null,true,null,null,null);
引数がどうしても多くなるので使うときに不便ではあるが、覚えておく必要がある。
セルのボーダーの枠線スタイルを決める。
SpreadsheetApp.BorderStyle.SOLID_THICK
のように、名前空間の中に入れる。
- DOTTED / 点線
- DASHED / 破線
- SOLID (* デフォルト) / 線
- SOLID_MEDIUM / 太線
- SOLID_THICK / 極太
- DOUBLE / 二重線
引数は、8番目。
range.setBorder(top, left, bottom, right, vertical, horizontal, color, style)
極太線を設定する。
rg.setBorder(true, true, true, true, true, true, null, SpreadsheetApp.BorderStyle.SOLID_THICK );
枠線の色を決める。
色をは HTML と同じ色指定。256色なRGBを #FFFFFF
と同じく入れる。
rg.setBorder(true, true, true, true, true, true, "#88AA00", SpreadsheetApp.BorderStyle.SOLID_THICK );
次回へ続く
長いので分割しました→次回