💡この記事でわかること
- 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をある程度マスターした方にも辞書的に手元に置いておくと便利です。
リンク
GASを使ってスプレッドシートのセルの背景色を取得する方法をご紹介します