GAS(Google Apps Script)を用いて、スプレッドシートのセルの背景色(カラーコード)を取得するメソッドは、単一セルの場合は『getBackgroundメソッド』、範囲の場合は『getBackgroundsメソッド』です。
背景色を取得するGASに興味ある方はぜひ最後までごらんください。
記事を書いた人
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
目次
getBackgroundメソッドについて
『getBackgroundメソッド』は、単一セルのカラーコードを取得するメソッドです。
(正確に言えば、範囲を指定した場合は、左上のセルのカラーコードを取得するので、単一セルしか受け付けないわけではないです)
GASの実行結果
function getBackground_color() {
// コンテナバインドされてるスプレッドシートを取得
let spreadsheet1 = SpreadsheetApp.getActiveSpreadsheet();
// シート名指定でシートを取得
let sheet1 = spreadsheet1.getSheetByName('背景色取得');
// 『color』変数にA2セルの背景色カラーコードを取得
let color = sheet1.getRange("A2").getBackground();
// 『color』変数に格納されている背景色カラーコードをB2セルに表示
sheet1.getRange("B2").setValue(color);
}
『getBackground』メソッドによるカラーコードは16進法カラーコードで返されます。
getBackgroundsメソッドについて
『getBackgroundsメソッド』は、範囲セルのカラーコードを取得するメソッドです。
二次元配列で取得されます。
GASの実行結果
function getBackgrounds_color() {
// コンテナバインドされてるスプレッドシートを取得
let spreadsheet1 = SpreadsheetApp.getActiveSpreadsheet();
// シート名指定でシートを取得
let sheet1 = spreadsheet1.getSheetByName('背景色範囲取得');
// 『colors』変数にA2:J9セルの背景色カラーコードを取得
let colors = sheet1.getRange("A2:J9").getBackgrounds();
// 『colors』変数に格納されているカラーコードをL2:U9セルに出力
sheet1.getRange("L2:U9").setValues(colors);
}
『getBackgroundsメソッド』を用いて、スプレッドシートのカラーパレットを背景色として展開したセル範囲のカラーコードを抽出してみました。このように、範囲の背景色を抽出することができます。