セルの背景色を変更する | setBackground()【GAS】

たけだ

GASを使ってスプレッドシートのセルの背景色を設定する方法をご紹介します

💡この記事でわかること
  • setBackground関数を使ってセルの背景色を変更する方法
  • 色指定で利用する色キーワードと16進数カラーコードの選び方

setBackground(color)

指定されたセルに背景色を設定します。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()

// 背景色を設定する
sheet.getRange(1, 1).setBackground("blue")     // 色キーワード指定
sheet.getRange(1, 2).setBackground("#ff0000")  // 16進数カラーコード指定

実行結果

公式ドキュメント

https://developers.google.com/apps-script/reference/spreadsheet/range#setbackgroundcolor

引数

名前説明
colorString背景色
(色キーワードか16進数カラーコード)

戻り値

背景色を指定した範囲。Rangeオブジェクトで返却。

公式ドキュメント

https://developers.google.com/apps-script/reference/spreadsheet/range

複数セルの背景色指定

ぴよこ

Rangeを複数セル指定した場合はどうなるんでしょうか?

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()

// 背景色を設定する
sheet.getRange(1, 1, 2, 3).setBackground("blue")

実行結果

同じ背景色を複数セルに設定したい場合は、この方法で早く処理を実行できます。

Rangeの指定について詳しく知りたい場合は、こちらの記事を参照してください。

色キーワードと16進数カラーコード

たけだ

背景色の指定には、2つの方法があります

色キーワード

色キーワードとは、特定の色を示すアルファベットの文字列です。

色キーワード対応する色
black
yellow
red
blue

色キーワードの一覧表

https://developer.mozilla.org/ja/docs/Web/CSS/color_value#%E8%89%B2%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89

16進数カラーコード

このような「#」の後に6桁の文字列(16進数6桁)で、色を表現する方式を16進数カラーコードと呼びます。

主な色とカラーコードの対応は次の通りです。

16進数カラーコード
#000000
#ff0000
#00ff00
#0000ff
#FFFFFF

他の色と16進数カラーコードの対応はGoogleで「カラー選択ツール」と検索すると表示されるツールで確認することができます。

setBackgrounds(color)

指定された範囲(Range)の背景色を配列で指定します。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()

const colorArray = [
  ["red", "blue", "orange"],
  ["#000000", "#008000", "#000080"]
]

// 背景色を設定する(2行3列)
sheet.getRange(1, 1, 2, 3).setBackgrounds(colorArray)

実行結果

公式ドキュメント

https://developers.google.com/apps-script/reference/spreadsheet/range#setbackgroundscolor

引数

名前説明
valuesObject[][]書き込む色が格納された2次元配列

書き込む2次元配列と範囲(Range)のサイズは一致させておく必要があります。

今回のサンプルコードでは、以下の通り2行3列で一致しているため想定通り値の書き込みができています。

  • Rangeの範囲は2行3列
  • 配列の範囲は2行3列

戻り値

値を書き込んだ範囲。Rangeオブジェクトで返却。

まとめ

たけだ

以上、GASを使ってセルの背景色を変更する方法でした。

最後まで読んでいただきありがとうございました!

GASをイチから学びたい方へ

このブログでは断片的な説明になってしまっていますが、本書は幅広いGASの内容が網羅的に学べる本です。イチから学びたい方は是非読んでみてください。

すでにGASをある程度マスターした方にも辞書的に手元に置いておくと便利です。