GASで罫線を自動でつけたり、枠線の設定や、罫線の太さなどのスタイル設定など、
スプレッドシートのGASの罫線でできることをまとめました。
コピペでそのまま使えるサンプルコードや、
サンプルデータも公開していますので、実際の動きを確認してみてください。
この記事で解説しているメソッド
setBoder()
getLastRow()
GASで罫線を自動追加する
GASで罫線を追加するには、setBoderメソッドを使用します。
setBorder(top, left, bottom, right, vertical, horizontal)
順番 | 範囲プロパティ | 説明 |
---|---|---|
1 | top | 上 |
2 | left | 左 |
3 | bottom | 下 |
4 | right | 右 |
5 | vertical | 列(垂直方向境界線) |
6 | horizontal | 行(水平方向境界線) |
実際に使用するには、true、false、nullを使用してプロパティを設定します。
「setBorder(true,null,true,null,false,true)」
true | 罫線を追加 |
false | 罫線を削除 |
null | 変更しない |
罫線の追加サンプルコード
function boder1() {
//アクティブシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//最終行取得
var lastRow = sheet.getLastRow();
//罫線(実線)追加
sheet.getRange(lastRow+1,1,1,7).setValue('罫線(実線)追加').setBorder(true,true,true,true,true,true);
}
このサンプルコードは、最終行に罫線を実線で追加するコードです。
罫線や枠線の線の太さなどのスタイルも変更することができます。
GASで罫線の太さや色を設定して自動で罫線を引く
GASで罫線の種類・太さや色を変更するには、プロパティでスタイル設定を使用します。
setBorder(上、左、下、右、垂直、水平、色、スタイル)
罫線の色はCSS表記の色で設定が可能です。
'#ffffff' 、 'white'など
罫線の太さや種類は、setBoderのスタイルの位置に、
「SpreadsheetApp.BorderStyle.DOUBLE」
という感じで、「SpreadsheetApp.BorderStyle」を前につけて設定します。
スタイル | 説明 | 画像 |
---|---|---|
DOTTED | 点線 | |
DASHED | 破線 | |
SOLID | 実線 | |
SOLID_MEDIUM | 中実線 | |
SOLID_THICK | 太い実線 | |
DOUBLE | 2重線 |
サンプルコードの罫線の色は”Red”、スタイルは”DOUBLE”
function boder2() {
//アクティブシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//最終行取得
var lastRow = sheet.getLastRow();
//罫線(実線)追加
sheet.getRange(lastRow+1,1,1,7).setValue('スタイル付き罫線追加')
.setBorder(true,true,true,true,true,true,'Red',SpreadsheetApp.BorderStyle.DOUBLE);
}
最終行にスタイル付きで罫線を追加しています。
表を最終行に追加して自動で罫線をつける
GASで最終行に追加して罫線を自動でつけるには、
getLastRowメソッドで最終行を取得してから、
表を挿入してsetBoderで罫線の設定を行うだけです。
GASで最終行に表と罫線を自動挿入サンプルコード
function boder3() {
//アクティブシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//最終行取得
var lastRow = sheet.getLastRow();
//表と罫線を追加
let value = sheet.getRange('D4:J11').getValues();
sheet.getRange(lastRow+1,1,8,7).setValues(value)
.setBorder(null,true,true,true,null,null)
.setBorder(null,null,null,null,null,true,true,SpreadsheetApp.BorderStyle.DASHED);
}
最終行に追加する方法はこちら
【GAS】スプレッドシートの最終行に追加、コピー、自動追加する方法まとめ【Google Apps Script】
GASで罫線の自動挿入をするサンプルデータ
サンプルデータはこちらからダウンロードしてください。
【Copori】自動罫線サンプル
自動罫線サンプルデータの使い方
1、 【Copori】自動罫線サンプル を開いてコピーしてください
3、メニューから「拡張機能」⇨「Apps Script」を開きます
※複数アカウントでログインしているとエラーで開けないので注意してください
4、権限の取得を行なってGASの実行やチェックボックスを入れてみてください。
権限の取得方法はこちら
5、初期化する時は、H16のチェックボックスにチェックを入れてください
(実行完了すると、実行結果のセル(A20:G20以降)が空欄になってH16のチェックが外れます)
自動罫線サンプルデータのGASコード
【Copori】自動罫線サンプルデータに入っているGASは5つです。
- 権限取得用.gs
- 罫線(実線)追加.gs
- スタイル付き罫線追加.gs
- 表と罫線を追加.gs
- チェックボックストリガー.gs
2、3、4は先に説明しているコードを同じGASが入っています。
5のチェックボックストリガーは、
サンプルシートのチェックボックスをONにした時に実行されるGASが入っています。
function onEdit(e) {
//編集情報取得
var range = e.range;
//編集された情報「range」からシート名を取得して変数「sheet」に格納
var sheet = range.getSheet();
//編集された行列取得
var row = range.getRow(); // 行
var col = range.getColumn(); // 列
Logger.log(row+','+col); //ログ確認用
if(row === 16){
//最終行取得
var lastRow = sheet.getLastRow();
switch(col){
case 1: //罫線(実線)追加
sheet.getRange(lastRow+1,1,1,7).setValue('罫線(実線)追加').setBorder(true,true,true,true,true,true);
sheet.getRange('A16').setValue(false);
break;
case 2: //スタイル付き罫線追加
sheet.getRange(lastRow+1,1,1,7).setValue('スタイル付き罫線追加')
.setBorder(true,true,true,true,true,true,'Red',SpreadsheetApp.BorderStyle.DOUBLE);
sheet.getRange('B16').setValue(false);
break;
case 7: //表と罫線の追加
let value = sheet.getRange('D4:J11').getValues();
sheet.getRange(lastRow+1,1,8,7).setValues(value)
.setBorder(null,true,true,true,null,null)
.setBorder(null,null,null,null,null,true,true,SpreadsheetApp.BorderStyle.DASHED);
sheet.getRange('G16').setValue(false);
break;
case 8: //初期化
sheet.getRange(20,1,lastRow,7).clear();
sheet.getRange('A20:G20').setBorder(true,null,null,null,null,null);
sheet.getRange('H16').setValue(false);
break;
default: //全ての値に合致しない場合
break;
}
}
}
シンプルトリガーのonEdit(e)で編集されたセルを取得し、
switch文で分岐してそれぞれの処理を行なっています。
switch文についてはこちら
【GAS】switchのcaseで複数処理、GASで複数分岐まとめ【Google Apps Script】
処理の中は、罫線の自動追加で説明したものと同じで、
チェックボックスのチェックを外す処理が入っています。
GASで表の記入や、最終行に追加の時に罫線も一緒に設定しておくと、
スプレッドシートを便利に使用できるので、使ってみてください。
【GAS】スプレッドシートの最終行に追加、コピー、自動追加する方法まとめ【Google Apps Script】
ありがとうございました!
コメント