【GAS GoogleAppsScript | スプレッドシート】セルの書式を設定する

スポンサーリンク

セルの書式を設定する

今回は、Rangeクラスの中にあるセルの書式設定をするメソッドの紹介をします。

紹介するのは次のメソッドです。

  • setBorder
  • setFontSize
  • setFontFamily
  • setNumberFormat
  • setBackgrounds
  • setHorizontalAlignment
  • setFontWeight
  • setFontColors

次のサンプルに書式の設定をしていきましょう!

サンプル

罫線を引く

罫線を引くには、次のメソッドを使います。

構文

Rangeオブジェクト.setBorder(top, left, bottom, right, vertical, horizontal)

function test(){
  
  // セルの範囲を取得する(全体)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
  
  // セルに罫線を設定する
  range.setBorder(true, true, true, true, true, false)
}

実行すると次のようになります。対応している引数も図に入れていますので確認してください。※horizontalだけfalseで設定しています。

フォントのサイズを変更する

フォントのサイズを変更するには、次のメソッドを使います。

構文

Rangeオブジェクト.setFontSize(size)

引数のsizeは、フォントのサイズを数値で指定します。

function test(){
  
  // セルの範囲を取得する(全体)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
  
  // フォントのサイズを変更する
  range.setFontSize(15)
}

実行すると次のようになります。シート上で設定するフォントのサイズが15になっていますね。

フォントの種類を変更する

フォントの種類を変更するには、次のメソッドを使います。

構文

Rangeオブジェクト.setFontFamily(fontFamily)

引数のfontFamilyは、フォント名をテキストで指定します。

function test(){
  
  // セルの範囲を取得する(全体)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
  
  // フォントの種類を変更する
  range.setFontFamily("メイリオ")
}

実行すると次のようになります。getFontFamily()で取得すると「メイリオ」で出るんですが、シート上の設定は変わらないですね。。。

表示形式を設定する

表示形式を設定するには、次のメソッドを使います。

構文

Rangeオブジェクト.setNumberFormat(numberFormat)

function test(){
  
  // セルの範囲を取得する(全体)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E6")
  
  // 表示形式を設定する
  range.setNumberFormat("#,##0")
}

実行すると次のようになります。数値の表示形式が変わりましたね。

背景色を設定する

背景色を設定するには、次のメソッドを使います。

構文

Rangeオブジェクト.setBackgrounds(array)

※一回で複数の背景色を設定する為に、配列を引数に指定するsetBackgrounds(array)メソッドを使います。

※同じ背景色設定の場合は、setBackground(color)メソッドでOKです!

function test(){
  
  // セルの範囲を取得する(全体)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E2")
  
  // 背景色を設定する
  range.setBackgrounds([["yellow", "yellow", "yellow", "orange"]])
}

実行すると次のようになります。見出し部分の背景色が変わりました。

文字の水平方向の配置を設定する

構文

Rangeオブジェクト.setHorizontalAlignment(alignment)

引数のalignmentには、left/center/rightを文字列で設定します。

function test(){
  
  // セルの範囲を取得する(見出し行)
  var range = SpreadsheetApp.getActiveSheet().getRange("B2:E2")
  
  // 文字列の水平方向の配置を設定する
  range.setHorizontalAlignment("center")
}

実行すると次のようになります。見出し部分の文字列がセンター揃えになりましたね。

太文字に設定する

構文

Rangeオブジェクト.setFontWeight(fontWeight)

引数のalignmentには、left/center/rightを文字列で設定します。

function test(){
  
  // セルの範囲を取得する(合計行)
  var range = SpreadsheetApp.getActiveSheet().getRange("B6:E6")
  
  // 太文字に設定する
  range.setFontWeight("bold")
}

実行すると次のようになります。合計行が太字に変わりました。

フォントの色を変更する

構文

Rangeオブジェクト.setFontColors(array)

セルによって別の色に設定したいので、引数に配列をとるsetFontColors(array)を使います。

一色の場合は、setFontColor(color)でもOKです。

function test(){
  
  // セルの範囲を取得する(合計行)
  var range = SpreadsheetApp.getActiveSheet().getRange("B3:B6")
  
  // フォントの色を変更する
  range.setFontColors([["red"], ["orange"], ["purple"], ["glay"]])
}

実行すると次のようになります。商品名の色が変わりました

まとめ

セルの書式を設定するメソッドを紹介しました!書式の設定のメソッドは、配列を引数に指定するものと、一つの設定を指定するものが2つ用意されていますが、セルごとに別々の書式を設定したい場合は、配列を引数にとる方を使うと便利にできると思います。配列を引数に取る場合は、設定を指定した範囲と同じ2次元配列で指定する必要があるので注意してください。