Google Apps Scriptを使うとプログラムの中でGoogleスプレッドシートの色を変更することができます。
例えば毎日入力するツールで、危険な値になったセルを赤にしてめだたせたり、成績良好に変わったセルをグリーンにしたりと色設定はユーザーが自由に選べます。
セルの背景色を変える流れ
- 最初に色を変えたいセルを取得
- 色を指定する変数を設定
- range#setBackground()で指定したセルの背景色を変更
という流れになります。
range#setBackground()で指定したセルの背景色を変更
//スプレッドシート取得 var ss = SpreadsheetApp.getActive().getSheetByName("シート1"); // カラーコード指定 var color = "#e6f4ea"; // 変更するセルを選択 var range= ss.getRange(9,3); //背景色を変える range.setBackground(color);
リファレンス
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("B2:D5"); range.setBackground("red");
Name | Type | Description |
---|---|---|
color |
String |
A color code in CSS notation (such as '#ffffff' or 'white' ); a null value resets the color. |
Class Range | Apps Script | Google Developers
カラーコードは16進数で指定する他、色名でも同様です。
セルの背景色を取得する場合には 「getBackground()」を使います。
getValue,setValueと同じですね。
背景色以外に文字の色も変更できます。
横一列の背景色を変更する
セルの区切りで横一列に色をつけたい場合があると思います。
そのときはgetRangeで横一列数のセルを取得してから色を変えます。
//Sheetオブジェクト.getRange(行番号, 列番号, 行数, 列数) var range2= ss.getRange(1,1,1,ss.getLastColumn());
getLastColumn()でセルの最終列を取得できます。