GAS開発者向けにスプレッドシートの背景色機能をすべてまとめました。
重要なセルの背景色を変えればデータが際立ちますね。データを目立たせたい場合はフォント色の変更よりも効果的だと思います。
RGB設定(赤・緑・青)や現在の色の取得などです。交互の背景色も含めてます。
背景色に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
セル範囲クラス[Range]の背景色設定
セル範囲の背景色設定メソッドです。
背景色設定[setBackground(色)]
setBackground(color)
CSS表記の範囲内のすべてのセルの背景色を設定します( '#ffffff'や 'white'など)。
function setBackgroundSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D5");
range.setBackground("red");
}
名前 | タイプ | 説明 |
---|---|---|
color | String | CSS表記のカラーコード( '#ffffff'や 'white'など)。 null値は色をリセットします。 |
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setBackground(color)
背景色RGB設定[setBackgroundRGB(赤, 緑, 青)]
setBackgroundRGB(red, green, blue)
RGB値(0から255までの整数)を使用して、背景を指定の色に設定します。
function setBackgroundRGBSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// 背景を白に設定します
cell.setBackgroundRGB(255, 255, 255);
// 背景を赤に設定します
cell.setBackgroundRGB(255, 0, 0);
}
名前 | タイプ | 説明 |
---|---|---|
red | Integer | RGB表記の赤の値。 |
green | Integer | RGB表記の緑の値。 |
blue | Integer | RGB表記の青の値。 |
Return
Range - 連鎖用のセル範囲。
背景色配列設定[setBackgrounds(色)]
setBackgrounds(color)
背景色の2次元配列を設定します(この範囲のサイズと一致する必要があります)。色はCSS表記( '#ffffff'や 'white'など)です。
function setBackgroundsSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var colors = [
["red", "white", "blue"],
["#FF0000", "#FFFFFF", "#0000FF"] // These are the hex equivalents
];
var cell = sheet.getRange("B5:D6");
cell.setBackgrounds(colors);
}
名前 | タイプ | 説明 |
---|---|---|
color | String[][] | CSS表記法による色の2次元配列( '#ffffff'や 'white'など)。 null値は色をリセットします。 |
Return
Range - 連鎖用のセル範囲。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setBackgrounds(color)
セル範囲クラス[Range]の背景色取得
セル範囲の背景色取得メソッドです。
背景色取得[getBackground()]
getBackground()
範囲内の左上のセルの背景色を返します(たとえば、 '#ffffff')。
function getBackgroundSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
Logger.log(cell.getBackground());
}
Return
String - 背景のカラーコードです。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getBackground()
背景色配列取得[getBackgrounds()]
getBackgrounds()
範囲内のセルの背景色を返します(たとえば、 '#ffffff')。
function getBackgroundsSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgrounds();
for (var i in bgColors) {
for (var j in bgColors[i]) {
Logger.log(bgColors[i][j]);
}
}
}
Return
String[][] - 背景のカラーコードの2次元配列。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getBackgrounds()
セル範囲リストクラス[RangeList]の背景色設定
セル範囲リストの背景色設定メソッドです。
背景色設定[setBackground(色)]
setBackground(color)
範囲リストの各範囲の背景色を設定します。色はCSS表記で表されます。たとえば、「#ffffff」や「white」などです。
function setBackgroundSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
rangeList.setBackground('red');
}
名前 | タイプ | 説明 |
---|---|---|
color | String | CSS表記の背景色コード( '#ffffff'や 'white'など)。 null値は色をリセットします。 |
Return
RangeList - 連鎖用のセル範囲リスト。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | setBackground(color)
背景色RGB設定[setBackgroundRGB(赤, 緑, 青)]
setBackgroundRGB(red, green, blue)
背景を指定されたRGB色に設定します。これはsetBackground(color)呼び出しの便利なラッパーです。
function setBackgroundRGBSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A:A', 'C:C']);
// 範囲リストの各範囲の背景を赤に設定します。
rangeList.setBackgroundRGB(255, 0, 0);
}
名前 | タイプ | 説明 |
---|---|---|
red | Integer | RGB表記の赤の値。 |
green | Integer | RGB表記の緑の値。 |
blue | Integer | RGB表記の青の値。 |
Return
RangeList - 連鎖用のセル範囲リスト。
セル範囲クラス[Range]の交互の背景色設定
セル範囲の交互の背景色設定メソッドです。
交互の背景色設定[applyRowBanding()]
applyRowBanding()
範囲にデフォルトの行バンディングテーマを適用します。デフォルトでは、バンドにはヘッダーがあり、フッターの色はありません。
Return
Banding - 新しいバンディング。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | applyRowBanding()
交互の背景色設定[applyRowBanding(バンディングテーマ)]
applyRowBanding(bandingTheme)
指定された行バンディングテーマを範囲に適用します。デフォルトでは、バンドにはヘッダーがあり、フッターの色はありません。
名前 | タイプ | 説明 |
---|---|---|
bandingTheme | BandingTheme | 範囲内の行に適用するカラーテーマ。 |
Return
Banding - 新しいバンディング。
交互の背景色設定[applyRowBanding(バンディングテーマ, ヘッダー色有無, フッター色有無)]
applyRowBanding(bandingTheme, showHeader, showFooter)
指定された行バンディングテーマを、指定されたヘッダーとフッターの設定で範囲に適用します。
名前 | タイプ | 説明 |
---|---|---|
bandingTheme | BandingTheme | 範囲内の行に適用するカラーテーマ。 |
showHeader | Boolean | trueの場合、バンディングテーマのヘッダーの色は最初の行に適用されます。 |
showFooter | Boolean | trueの場合、バンディングテーマのフッターの色は最後の行に適用されます。 |
Return
Banding - 新しいバンディング。
縞模様テーマ列挙型[BandingTheme]
交互の背景色に設定する縞模様のテーマです。
Enum BandingTheme
バンディングテーマの列挙。各テーマは、バンディング設定に基づいて異なるセルに適用されるいくつかの補色で構成されています。
プロパティ | タイプ | 説明 |
---|---|---|
LIGHT_GREY | Enum | ライトグレーのバンディングテーマ。 |
CYAN | Enum | シアンのバンディングテーマ。 |
GREEN | Enum | 緑色のバンディングテーマ。 |
YELLOW | Enum | 黄色いバンディングテーマ。 |
ORANGE | Enum | オレンジ色のバンディングテーマ。 |
BLUE | Enum | 青色のバンディングテーマ。 |
TEAL | Enum | ティールバンディングのテーマ。 |
GREY | Enum | グレーのバンディングテーマ。 |
BROWN | Enum | 茶色のバンディングテーマ。 |
LIGHT_GREEN | Enum | 薄緑色のバンディングテーマ。 |
INDIGO | Enum | インディゴバンディングのテーマ。 |
PINK | Enum | ピンクのバンディングテーマ。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Enum BandingTheme
最後に
GAS背景色機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント