- 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
引数
名前 | 型 | 説明 |
---|---|---|
color | String | 背景色 (色キーワードか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 | 青 |
色キーワードの一覧表
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
引数
名前 | 型 | 説明 |
---|---|---|
values | Object[][] | 書き込む色が格納された2次元配列 |
書き込む2次元配列と範囲(Range)のサイズは一致させておく必要があります。
今回のサンプルコードでは、以下の通り2行3列で一致しているため想定通り値の書き込みができています。
- Rangeの範囲は2行3列
- 配列の範囲は2行3列
戻り値
値を書き込んだ範囲。Rangeオブジェクトで返却。
まとめ
以上、GASを使ってセルの背景色を変更する方法でした。
最後まで読んでいただきありがとうございました!
このブログでは断片的な説明になってしまっていますが、本書は幅広いGASの内容が網羅的に学べる本です。イチから学びたい方は是非読んでみてください。
すでにGASをある程度マスターした方にも辞書的に手元に置いておくと便利です。
GASを使ってスプレッドシートのセルの背景色を設定する方法をご紹介します