それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Goole App Script ( GAS ) の基本的な操作方法。13.スプレッドシートのセルの基本操作

前回の続き

前回までで、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
    );