GAS開発者向けにスプレッドシートの枠線設定機能をすべてまとめました。
表を作成する際、枠線を付けた方が圧倒的に見やすくなりますね。
スプレッドシートの枠線操作はExcelと結構違うので、GASで簡単に設定できるようになるととても便利です。
枠線設定に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
枠線スタイル列挙型[BorderStyle]
枠線のスタイルです。
Enum BorderStyle
Range.setBorder(上、左、下、右、垂直、水平、色、スタイル)を使用して範囲に設定できるスタイル。
プロパティ | タイプ | 説明 |
---|---|---|
DOTTED | Enum | 点線の境界線。 |
DASHED | Enum | 破線の境界線。 |
SOLID | Enum | 細い実線の境界線。 |
SOLID_MEDIUM | Enum | 中実線の境界線。 |
SOLID_THICK | Enum | 太い実線の境界線。 |
DOUBLE | Enum | 2本の実線の境界線。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Enum BorderStyle
セル範囲クラス[Range]の枠線設定
セル範囲の枠線設定メソッドです。
枠線設定[setBorder(上, 左, 下, 右, 垂直, 水平)]
setBorder(top, left, bottom, right, vertical, horizontal)
ボーダープロパティを設定します。有効な値は、true(オン)、false(オフ)、およびnull(変更なし)です。
function setBorderSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// 上下の境界線を設定しますが、左右は変更しません
cell.setBorder(true, null, true, null, false, false);
}
名前 | タイプ | 説明 |
---|---|---|
top | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
left | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
bottom | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
right | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
vertical | Boolean | 内部の垂直方向の境界線ではtrue、なしではfalse、変更なしではnullです。 |
horizontal | Boolean | 内部の水平方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnull。 |
Return
Range - 連鎖用のセル範囲。
枠線設定(色スタイル付)[setBorder(上, 左, 下, 右, 垂直, 水平, 色, スタイル)]
setBorder(top, left, bottom, right, vertical, horizontal, color, style)
ボーダープロパティを色やスタイルで設定します。有効な値は、true(オン)、false(オフ)、およびnull(変更なし)です。色については、CSS表記で色を使用します( '#ffffff'や 'white'など)。
function setBorderColorStyleSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// 上下の境界線を設定しますが、左右は変更しません。
// また、色を「赤」に設定し、境界線を「DASHED」に設定します。
cell.setBorder(true, null, true, null, false, false, "red", SpreadsheetApp.BorderStyle.DASHED);
}
名前 | タイプ | 説明 |
---|---|---|
top | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
left | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
bottom | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
right | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
vertical | Boolean | 内部の垂直方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
horizontal | Boolean | 内部の水平方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
color | String | CSS表記の色( '#ffffff'や 'white'など)。デフォルトの色(黒)の場合はnullです。 |
style | BorderStyle | 境界線のスタイル。デフォルトスタイル(実線)の場合はnullです。 |
Return
Range - 連鎖用のセル範囲。
セル範囲リストクラス[RangeList]の枠線設定
セル範囲リストの枠線設定メソッドです。
枠線設定[setBorder(上, 左, 下, 右, 垂直, 水平)]
setBorder(top, left, bottom, right, vertical, horizontal)
範囲リスト内の各範囲の境界プロパティを設定します。有効な値は、true(オン)、false(オフ)、およびnull(変更なし)です。
function setBorderSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A2:B4', 'C1:D4']);
// A2:B4とC1:D4の範囲の上下に境界線を設定しますが、
// 左右は変更しません。
rangeList.setBorder(true, null, true, null, false, false);
}
名前 | タイプ | 説明 |
---|---|---|
top | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
left | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
bottom | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
right | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
vertical | Boolean | 内部の垂直方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
horizontal | Boolean | 内部の水平方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
Return
RangeList - 連鎖用のセル範囲リスト。
枠線設定(色スタイル付)[setBorder(上, 左, 下, 右, 垂直, 水平, 色, スタイル)]
setBorder(top, left, bottom, right, vertical, horizontal, color, style)
範囲リスト内の各範囲に対して、色またはスタイル(あるいはその両方)でborderプロパティを設定します。有効な値は、true(オン)、false(オフ)、およびnull(変更なし)です。色はCSS表記で表されます。たとえば、「#ffffff」や「white」などです。
function setBorderColorStyleSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var rangeList = sheet.getRangeList(['A2:B4', 'C1:D4']);
// 上下の境界線を設定しますが、A2:B4およびC1:D4の範囲で左右は変わりません。
// 色を 'red'に、枠線を 'DASHED'にも設定します。
rangeList.setBorder(
true, null, true, null, false, false, 'red', SpreadsheetApp.BorderStyle.DASHED);
}
名前 | タイプ | 説明 |
---|---|---|
top | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
left | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
bottom | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
right | Boolean | ボーダーの場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
vertical | Boolean | 内部の垂直方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
horizontal | Boolean | 内部の水平方向の境界線の場合はtrue、なしの場合はfalse、変更なしの場合はnullです。 |
color | String | #ffffff'や 'white'のようなCSS表記の境界色。デフォルトの色(黒)の場合はnullです。 |
style | BorderStyle | 境界線のスタイル。デフォルトスタイル(実線)の場合はnullです。 |
Return
RangeList - 連鎖用のセル範囲リスト。
最後に
GAS枠線設定機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント