第13回.セルに書式を設定する
スプレッドシートでは、主に表を作成しデータの入力・編集を行います。
データが重要とはいえ、やはり見栄えも重要な要素になってきます。
書式を設定する例題


下の表のように書式設定します。
罫線
setBorder(top, left, bottom, right, vertical, horizontal, color, style)
false : 罫線を消す
null : 罫線を変更しない
DASHED,DOTTED,SOLID のいずれか。
省略時はSOLID
塗りつぶし
setBackgroundRGB(red, green, blue)
red, green, blue : 0 ~ 255
フォント サイズ
太字
斜体
フォント 色
CSSの色設定
カラー名 | 16進数 | RGB値 |
black | #000000 | 0,0,0 |
gray | #808080 | 128,128,128 |
silver | #C0C0C0 | 192,192,192 |
white | #FFFFFF | 255,255,255 |
blue | #0000FF | 0,0,255 |
navy | #000080 | 0,0,128 |
teal | #008080 | 0,128,128 |
green | #008000 | 0,128,0 |
lime | #00FF00 | 0,255,0 |
aqua | #00FFFF | 0,255,255 |
yellow | #FFFF00 | 255,255,0 |
red | #FF0000 | 255,0,0 |
fuchsia | #FF00FF | 255,0,255 |
olive | #808000 | 128,128,0 |
purple | #800080 | 128,0,128 |
maroon | #800000 | 128,0,0 |
以下の3通りの指定は、全て白色になります。
setBackground("#FFFFFF")
setBackgroundRGB(255, 255, b55)
完成スクリプト
function sample13() {
var sheet = SpreadsheetApp.getActiveSheet()
var range
range = sheet.getRange("B2:E12")
range.setBorder(false, false, false, false, true, true, "black", SpreadsheetApp.BorderStyle.DOTTED)
range = sheet.getRange("B2:E2")
range.setBorder(true, null, true, null, null, null)
range = sheet.getRange("B12:E12")
range.setBorder(null, null, true, null, null, null)
range = sheet.getRange("B2:B12")
range.setBorder(null, true, null, true, null, null)
range = sheet.getRange("E2:E12")
range.setBorder(null, null, null, true, null, null)
range = sheet.getRange("B2:E2")
range.setBackgroundRGB(128,128,128)
range.setFontColor("white")
range.setFontWeight("bold")
range.setFontStyle("italic")
range.setFontSize(12)
range = sheet.getRange("B3:B12")
range.setFontWeight("bold")
range.setBackground("teal")
}
罫線は、エクセルとは大分違いがありますので、注意してください。
エクセルVBAの感覚なら、
range.setBorder(null, null, null, null, true, true, "black", SpreadsheetApp.BorderStyle.DOTTED)
range.setBorder(true, true, true, true, null, null)
スプレッドシートでは、この指定では正しく設定されません。
同時に実行すると正しく設定されません。
ただし、そもそもスプレッドシートでは、罫線の種別も少ないので、
基本的には、標準線種のSOLIDで、まとめて設定するようにしましょう。
設定されている書式の取得
set○○メソッドで設定して、get○○メソッドで取得できます。
フォント サイズ
太字
斜体
フォント 色
ただし、
setBorderメソッドは見当たりませんので、現時点では罫線の取得方法は不明です。
セルに書式を設定の最後に
表の本質はデータですので、過度の見栄えは必用ないと思います。
これらに視線が行きやすいように工夫することを考えると良いと思います。
同じテーマ「Google Apps Script入門」の記事
第10回.条件で処理を変える(条件分岐,if)
第11回.条件で処理を変える(条件分岐,switch)
第12回.表範囲をまとめて消去する
第13回.セルに書式を設定する
第14回.複数のシートを扱う
第15回.複数のスプレッドシートを扱う
第16回.Google Apps Scriptの文法
第17回.JavaScript リファレンス
第18回.組み込み関数を使う
第19回.いろいろな繰り返し処理
第20回.エラー処理(try・・・catch)
新着記事NEW ・・・新着記事一覧を見る
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門
- ホーム
- その他
- Google Apps Script入門
- セルに書式を設定する
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。