【初心者向けのGAS】スプレッドシートのセルに枠・罫線を付ける方法

よこのじ(@yokonoji_work)です。

Google Apps Script(GAS)で「セルに枠・罫線を付ける方法」をご紹介します。

【初心者向けのGAS】スプレッドシートのセルに色を付ける方法」の記事もありますので、参考にしてください。

セルに枠・罫線を付ける方法

セルに枠・罫線を付けるには、setBorderメソッドを使用します。

// スプレッドシートを取得する 
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
// シートを取得する
var sheet = spreadsheet.getSheetByName("シート1");
// セルを取得する   
var cell = sheet.getRange(2, 2);

cell.setBorder(true, true, true, true, false, false);

setBorderメソッドには、setBorder(top, left, bottom, right, vertical, horizontal) のように引数を渡します。trueなら線あり、falseなら線なし、nullなら変更しないという意味になります。

  • top・・・セル(範囲内)の上側
  • left・・・セル(範囲内)の左側
  • bottom・・・セル(範囲内)の下側
  • right・・・セル(範囲内)の右側
  • vertical・・・範囲内の垂直方向の境界線
  • horizontal・・・範囲内の水平方向の境界線

例えば、次のような記述であれば、上下左右に線を付けることができます。

cell.setBorder(true, true, true, true, false, false);

枠の上下左右

ここで注意が必要なのは、複数のセルを範囲指定したときです。

var range = sheet.getRange(2, 2, 4, 4);
range.setBorder(true, true, true, true, false, false);

複数のセルを範囲指定して top, left, bottom, right に線を付けると、その範囲の外側に線が付きます。

指定範囲の上下左右に線

内側に線を入れたい場合には、vertical(範囲内の垂直方向の境界線)、horizontal(範囲内の水平方向の境界線)を true にします。

range.setBorder(true, true, true, true, true, true);

これで、表らしい線をつけることができました。

指定範囲内の境界線に線を付ける

枠・罫線を装飾する

setBorderメソッドには、colorとstyleを指定することもできます。

range.setBorder(top, left, bottom, right, vertical, horizontal, color, style)

使用例は次のようになります。

range.setBorder(true, true, true, true, true, true, "#FF6969", SpreadsheetApp.BorderStyle.DASHED);

線の色は”red”のように色名で指定できる他に、”#FF6969″のようにカラーコードを使うこともできます。

枠線の色とスタイルを指定

スタイルについては、公式ガイドのEnum BorderStyleにあるものが指定できます。

  • DOTTED
  • DASHED
  • SOLID ← デフォルトのスタイル
  • SOLID_MEDIUM
  • SOLID_THICK
  • DOUBLE

BorderStyle

 

gasはGoogleの数多くのサービスと連携して使えるので、応用の幅が広い。