セルの背景色を取得する | getBackground()【GAS】

たけだ

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

💡この記事でわかること
  • getBackground関数を使ってセルの背景色を取得する方法
  • 取得した16進数カラーコードの読み方

getBackgroud()

指定されたセルの背景色を取得します。

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

// 背景色を取得する
const color = sheet.getRange(1, 1).getBackground()
console.log(color)

実行結果

#ff0000

公式ドキュメント

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

戻り値

セルの背景色。16進数カラーコード(例えば:#ffffff)

16進数カラーコード

ぴよこ

#ff0000や#ffffffってどういう意味なんでしょうか?

このセルの背景には赤色が設定されています。先ほどのプログラムで背景色を取得した結果は次の通りです。

#ff0000

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

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

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

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

getBackgrounds()

たけだ

複数範囲の背景色を一度に取得する関数もあります

指定された範囲(Range)の背景色を取得します。

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

// 背景色を取得する
const colorArray = sheet.getRange(1, 1, 2, 3).getBackgrounds()
console.log(colorArray)

実行結果

[ [ '#ff0000', '#ff9900', '#fff2cc' ],
  [ '#00ff00', '#4a86e8', '#9900ff' ] ]

公式ドキュメント

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

戻り値

セルの背景色を配列に格納したもの。16進数カラーコード(例えば:#ffffff)

まとめ

たけだ

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

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

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

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

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