セルの書式を設定する
今回は、Rangeクラスの中にあるセルの書式設定をするメソッドの紹介をします。
紹介するのは次のメソッドです。
- setBorder
- setFontSize
- setFontFamily
- setNumberFormat
- setBackgrounds
- setHorizontalAlignment
- setFontWeight
- setFontColors
次のサンプルに書式の設定をしていきましょう!
サンプル
罫線を引く
罫線を引くには、次のメソッドを使います。
function test(){
// セルの範囲を取得する(全体)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
// セルに罫線を設定する
range.setBorder(true, true, true, true, true, false)
}
実行すると次のようになります。対応している引数も図に入れていますので確認してください。※horizontalだけfalseで設定しています。
フォントのサイズを変更する
フォントのサイズを変更するには、次のメソッドを使います。
引数のsizeは、フォントのサイズを数値で指定します。
function test(){
// セルの範囲を取得する(全体)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
// フォントのサイズを変更する
range.setFontSize(15)
}
実行すると次のようになります。シート上で設定するフォントのサイズが15になっていますね。
フォントの種類を変更する
フォントの種類を変更するには、次のメソッドを使います。
引数のfontFamilyは、フォント名をテキストで指定します。
function test(){
// セルの範囲を取得する(全体)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
// フォントの種類を変更する
range.setFontFamily("メイリオ")
}
実行すると次のようになります。getFontFamily()で取得すると「メイリオ」で出るんですが、シート上の設定は変わらないですね。。。
表示形式を設定する
表示形式を設定するには、次のメソッドを使います。
function test(){
// セルの範囲を取得する(全体)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
// 表示形式を設定する
range.setNumberFormat("#,##0")
}
実行すると次のようになります。数値の表示形式が変わりましたね。
背景色を設定する
背景色を設定するには、次のメソッドを使います。
※一回で複数の背景色を設定する為に、配列を引数に指定するsetBackgrounds(array)メソッドを使います。
※同じ背景色設定の場合は、setBackground(color)メソッドでOKです!
function test(){
// セルの範囲を取得する(全体)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E2")
// 背景色を設定する
range.setBackgrounds([["yellow", "yellow", "yellow", "orange"]])
}
実行すると次のようになります。見出し部分の背景色が変わりました。
文字の水平方向の配置を設定する
引数のalignmentには、left/center/rightを文字列で設定します。
function test(){
// セルの範囲を取得する(見出し行)
var range = SpreadsheetApp.getActiveSheet().getRange("B2:E2")
// 文字列の水平方向の配置を設定する
range.setHorizontalAlignment("center")
}
実行すると次のようになります。見出し部分の文字列がセンター揃えになりましたね。
太文字に設定する
引数のalignmentには、left/center/rightを文字列で設定します。
function test(){
// セルの範囲を取得する(合計行)
var range = SpreadsheetApp.getActiveSheet().getRange("B6:E6")
// 太文字に設定する
range.setFontWeight("bold")
}
実行すると次のようになります。合計行が太字に変わりました。
フォントの色を変更する
セルによって別の色に設定したいので、引数に配列をとるsetFontColors(array)を使います。
一色の場合は、setFontColor(color)でもOKです。
function test(){
// セルの範囲を取得する(合計行)
var range = SpreadsheetApp.getActiveSheet().getRange("B3:B6")
// フォントの色を変更する
range.setFontColors([["red"], ["orange"], ["purple"], ["glay"]])
}
実行すると次のようになります。商品名の色が変わりました
まとめ
セルの書式を設定するメソッドを紹介しました!書式の設定のメソッドは、配列を引数に指定するものと、一つの設定を指定するものが2つ用意されていますが、セルごとに別々の書式を設定したい場合は、配列を引数にとる方を使うと便利にできると思います。配列を引数に取る場合は、設定を指定した範囲と同じ2次元配列で指定する必要があるので注意してください。
コメント